我正在使用jquery $.post
向其他域发送帖子请求。一切正常,但我没有在请求的页面中获取发布的数据,请检查我的代码
jquery代码
var data = {mydata: 'testing'};
$.post("http://anyurl/file.php",data,function(info){
alert(info);
});
这里是php代码
<?php
header('Access-Control-Allow-Origin: *'); // this is to allow another domain
$data = $_POST[“mydata”]; // assigning data to variable
echo $data; // sending back to jquery
?>
它不会返回数据,请检查任何人。
提前致谢
答案 0 :(得分:3)
使用proper quotes
并使用isset()
检查data
设置与否,
<?php
header('Access-Control-Allow-Origin: *'); // this is to allow another domain
print_r($_POST);// to check the post data
$data = isset($_POST['mydata']) ? $_POST['mydata'] : "No Data";
echo $data; // sending back to jquery
?>
答案 1 :(得分:1)
尝试使用single quotes
和更好获取POST变量,以便在回显后将exit
设置为
$data = $_POST['mydata'];
echo $data;
exit;
并确保通过console
发布到指定的网址。
答案 2 :(得分:0)
好吧,当我测试它时它走得很好。为了重新出现你已经得到的错误,我正在尝试将file.php设置为BOM-UTF8文件,最后它得到了错误。{{ 1}}
另一个建议,您可以使用firebug来测试您的ajax后期进程。控制台中的链接将显示ajax进程,例如您发布的内容和反馈内容。只需使用console.log()而不是警报()。