簡體   English   中英

發送json作為ajax中的數據並獲得響應

[英]send json as data in ajax and get response

我想以json的形式請求API並獲得響應,並嘗試用郵遞員進行響應,得到響應:

對API的json請求:

{
"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"
}

我在郵遞員那里得到的回應,還可以

{
"status": 200,
"result": {
    "winner": "s",
    "options": {
        "1": "mar",
        "2": "feb",
        "3": "jan",
        "4": "aug"
    },
    "question": "how old are u?",
    "answer": 3
}

}

我的問題是我想發送ajax請求並獲得response.i嘗試此代碼,但沒有得到任何響應?

var data = {"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"};
$.ajax({
type:'post',
dataType:'json',
url:'http://207.154.251.233:8039/app_dev.php/question/get',
data:JSON.stringify(data),
success:(function (response) {
alert(response);
})
})

使用以下修改的代碼:

var data = {"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"};
$.ajax({
    type:'post',
    dataType:'json',
    url:'http://207.154.251.233:8039/app_dev.php/question/get',
    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
    crossDomain: true,
    data:JSON.stringify(data),
    success:(function (response) {
        alert(response);
    })
});

此外,如果您的腳本從其他主機運行,則必須使用跨源訪問權限。 為此,使用

Access-Control-Allow-Origin: http://foo.example 

如果您的應用程序內置於php,請使用:

header("Access-Control-Allow-Origin: *"); 
// or your script's host, e.g http://foo.example instead of "*"

您得到的響應是object類型的,將顯示為[object] [object]。 如果要對其發出alert ,則需要JSON.stringify 我建議改用console.log ,它最好用於調試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM