如何使用ajax和php发送和接收内容

How to send and receive content using ajax and php

本文关键字:何使用 ajax php      更新时间:2023-09-26

我尝试用AJAX(纯JS)发送数据到服务器。我想在请求体上发送它

我知道如何在jQuery中实现它:

$.ajax({
    url: 'someurl',
    data: 'foo'
});

我的意思是如何我可以发送数据到服务器像jQuery一样使用纯js的数据属性的ajax方法时?

另外,在PHP中,我如何获得这些数据?

我知道用laravel我需要做

Request::getContent();

(如果我没记错的话)

但是我不知道如何在PHP中获取这些数据。

谢谢

就通过javascript发送AJAX请求而不依赖于jQuery而言,这是一个相当广泛的问题。您应该在这里查看文档。

一个简单的例子

// Old compatibility code, no longer needed.
if (window.XMLHttpRequest) { // Mozilla, Safari, IE7+ ...
    httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 6 and older
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
httpRequest.open('POST', url);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var data = /* some data here */
httpRequest.send('data=' + encodeURIComponent(data));

要在PHP中检索这个,您将根据请求中发送的Content-type头使用$_POSTfile_get_contents('php://input')。在上面的示例中,我们使用application/x-www-form-urlencoded Content-type标头和POST HTTP动词,因此信息将填充在$_POST['data']中。

希望这对你有帮助!这是一个范围非常广泛的AJAX请求,我试图使示例尽可能容易理解!:)

my-web-page.php

<a onclick="<?php $myValue; ?>">Send request</a>
<script>
    $.ajax({
        type: "POST",
        url: 'my-script.php',
        data:{
            action: 'send',
            key: $myValue
        }
    });
</script>

my-script.php

<?php
    $myValue = $_POST['key'];
?>