dqnhfbc3738
dqnhfbc3738
2017-10-25 01:14

将JSON发送到PHP文件并在JS中接收响应

I have looked at many other questions on here and I have tried many different methods but none seem to work.

Heres my javascript file

function sendData() {
     var jsondata;
     var j = {"pub_id":"'+pid+'","a_type":"'+a_t'","p_domain":"'+domain+'"}
     var str_j = JSON.stringify(j);

     var xhr = new XMLHttpRequest();
     xhr.open("POST", "https://ads.schlarman.org/zz.php", !0);
     xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
     xhr.onreadystatechange = function() {
       if (xhr.readyState === 4 && xhr.status === 200) {
         jsondata = JSON.parse(xhr.responseText);
         console.log(jsondata);
       }
     }
}
sendData();

then zz.php

<?php 
   header('Content-type: application/json');
   $json = file_get_contents('php://input');
   $json_decode = json_decode($json, true);
   $json_encode = json_encode($json_decode);
   echo $json_encode;
?>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • dongxiaoxing3058 dongxiaoxing3058 4年前

    If at all possible, build your json strings from actual javascript arrays/objects

    var j = {"pub_id":"'+pid+'","a_type":"'+a_t'","p_domain":"'+domain+'"};
    

    could & probably should be

    var j = {"pub_id": pid, "a_type": a_t, "p_domain": domain};
    

    Also, try adding the following header to your php

    Access-Control-Allow-Origin: *
    

    More info here: https://enable-cors.org/server.html

    点赞 评论 复制链接分享