0

我正在使用 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

?>

它不返回数据请检查任何人。

提前致谢

4

3 回答 3

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
?>
于 2013-11-14T05:38:11.240 回答
1

尝试使用 POST 变量single quotes在回显后更好地放置它exit

$data = $_POST['mydata'];
echo $data; 
exit;

并确保它发布到给定的 URL 或不通过console.

于 2013-11-14T05:35:29.817 回答
0

好的,当我测试它时它运行良好。为了重新出现您遇到的错误,我正在尝试将 file.php 设置为 BOM-UTF8 文件,最终出现错误。So,please check your file.php if it got a BOM before header().

另一种建议,您可以使用 firebug 测试您的 ajax 发布流程。控制台中的链接将显示您发布的 ajax 流程,例如您发布的内容和反馈信息。只需使用 console.log() 而不是 alert() .

于 2013-11-14T05:38:13.640 回答