dqnhfbc3738 2017-10-25 01:14
浏览 59
已采纳

将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 2017-10-25 06:49
    关注

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?