如何异步从PHP服务器获取响应

时间:2018-05-01 05:45:14

标签: javascript jquery ajax

首先我知道关于这个问题已经有很多问题了。在阅读了所有答案并试了之后..但是没有一个工作。所以我在这里上传一个问题。请不要删除它。< / p>

因此,我创建了一个带有表单的html文件,然后使用ajax jQuery将表单数据发送到PHP文件,如下所示。

$("#form-id").submit(function e() {
e.preventDefault();
var sdata=("#text_feild").val();
$.ajax({
url:"filename.php",
type:"POST",
data:sdata
});
//display the message sent by PHP
/*Use the data sent by PHP to perform   
different function*/  

现在我希望PHP向js或html或其他任何东西发送消息。另外,我希望PHP发送一些布尔数据,我将用它来执行某些功能。

2 个答案:

答案 0 :(得分:0)

如果你想发送多个数据,那么你可以通过使用数组并发送它们json编码来实现这一点,你将在&#34;成功&#34; ajax调用的回调函数

请考虑以下示例

ajax call

$("#form-id").submit(function e() {
    e.preventDefault();
    var sdata=("#text_feild").val();
    $.ajax({
       url:"filename.php",
       type:"POST",
       data:sdata,
       async: true,
       dataType: 'json',
       success: function(data) {
            console.log(data); // check result in console
            $('#result').html((data.content) ? (data.content) : '???');
            $('#result').prop('title', data.title);
            $('#jsonstring').html('Json object: '+JSON.stringify(data));
        },
        error: function(jqXHR, textStatus, errorThrown) {
           console.log(textStatus, errorThrown);
        }
    });
});


    <?php

        $result = array(
            'title' => 'Title',
            'status' => 0,
        );

        echo json_encode($result);
    ?>

答案 1 :(得分:0)

您可以使用强大的纯JavaScript浏览器原生 fetch api

检索 text / html

&#13;
&#13;
  fetch("https://api.github.com/")
      .then(function(response) { return response.text() })
      .then(function(text) {
     console.log(text)
  })
&#13;
&#13;
&#13;

检索 json

&#13;
&#13;
fetch("https://www.reddit.com/.json").then(v => v.json()).then((function(v){
    syn = JSON.stringify(v)
    main.innerHTML += syn
    })
  )
&#13;
<div id="main">
&#13;
&#13;
&#13;

服务器端json api的基础将是:

if ($_GET["myapi"] != ""){
  header('Content-Type: application/json');
  header("Access-Control-Allow-Origin: *");
  echo json_encode(["Hello","World"]);
  exit;
}

致电: mysite /?myapi =无论

输出:["Hello","World"] json标头,并启用CORS

详细了解javascript promise(s)