Javascript 如何使用POST请求向PHP脚本正确发送数据?
更新: 尝试使用完全错误的方法进行调试。我通过网络选项卡双击.php文件,并假设它发送的标题与通过ajax POST请求发送的标题相同。这就是GET为我工作的原因(因为数据打包在URL中,双击php文件意味着我在模拟ajax请求中会发生什么) 感谢@Phil为我指明了正确的方向:在使用error打印返回的结果数据后,我发现responseText包含了我最初希望从POST请求中获得的内容Javascript 如何使用POST请求向PHP脚本正确发送数据?,javascript,php,ajax,Javascript,Php,Ajax,更新: 尝试使用完全错误的方法进行调试。我通过网络选项卡双击.php文件,并假设它发送的标题与通过ajax POST请求发送的标题相同。这就是GET为我工作的原因(因为数据打包在URL中,双击php文件意味着我在模拟ajax请求中会发生什么) 感谢@Phil为我指明了正确的方向:在使用error打印返回的结果数据后,我发现responseText包含了我最初希望从POST请求中获得的内容 Below this point is the original post 我试图通过POST请求发送2条
Below this point is the original post
我试图通过POST请求发送2条信息,而不使用表单
当我在Chrome的网络选项卡中查看php文件的标题时,它似乎正确地将数据作为“表单数据”发送。但是,使用print\r($\u POST)
检查是否在PHP端检索数据只会导致一个空数组:“array()”
JS
url = "/members/duc.php";
data = {
"d": "test",
"r": 156
};
$.ajax({
'type': "POST",
'async': false,
'global': false,
'url': url,
'data': data,
'dataType': "json",
'success': function (data) {
jsonContainer = data;
console.log('success');
}
});
PHP
print_r($_POST);
尝试调试5.将ajax
方法:“POST”
更改为方法:“GET”
在服务器端用代码print\r($\u GET)
1.我尝试了
$\u REQUEST
并设置了任意var=file\u get\u contents(“php://input");代码>
2.我尝试过以json格式发送,然后解码输入。
3.我尝试过使用$.post
而不是$.ajax
4.我已尝试将ajax中的数据设置为{duc:data}
6.尝试了地址栏中包含www.的POST方法,没有更改
$\u GET正在工作,因为
数据类型:'json'是严格的,请检查您的php echo数据类型,确保是json
试试这个
//js
url = "/members/duc.php";
data = {
"d": "test",
"r": 156
};
$.ajax({
'type': "POST",
'async': false,
'global': false,
'url': url,
'data': data,
//'dataType': "json",
'success': function (data) {
jsonContainer = data;
console.log('success');
}
});
//php
print_r($_POST);
或
将获取数据,但我认为第二个更好。您是否使用浏览器的网络检查器查看实际传递到脚本的数据?“url”参数在执行请求时是否实际解析为预期的url?是的,我正在通过网络检查器打开php文件,对打印出来的内容进行双重检查。php会自动解析json编码的实体。您的整个请求应在php://input
可能您编辑了不同的php文件是php codeprint\r($\u POST)代码>仅限?
//js
url = "/members/duc.php";
data = {
"d": "test",
"r": 156
};
$.ajax({
'type': "POST",
'async': false,
'global': false,
'url': url,
'data': data,
'dataType': "json",
'success': function (data) {
jsonContainer = data;
console.log('success');
}
});
//php
echo json_encode($_POST);