2017-10-15 29 views
2

我想請求爲JSON到API,並得到迴應,我和郵遞員嘗試過了,我得到了響應:發送JSON作爲阿賈克斯的數據,並得到響應

JSON請求API:

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

響應,我得到了在郵遞員,它是確定

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

}

我的問題是我想給阿賈克斯reque ST並得到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); 
}) 
}) 
+0

添加一個錯誤處理程序來找出爲什麼 – charlietfl

+0

@charlietfl你能告訴我怎麼做嗎? – sepehr

+0

嘗試從''apikey''周圍的數據中刪除引號,就像'{apikey:「&^ $%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp」};' –

回答

0

使用此修改後的代碼:

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 "*" 
0

你所得到的迴應是對象類型,並且將顯示爲[對象] [對象]。如果您想對其執行alert,則需要JSON.stringify。我建議使用console.log代替,它更適合調試。