Noitidarts代碼中存在一個錯誤。
爲什麼JSON.parse request.json?如果要分析這樣做對request.text
但是沒有必要json.parse作爲請求模塊試圖解析,如果成功retuns request.json
在這裏看到:
var Request = require("sdk/request").Request;
var latestTweetRequest = Request({
url: "https://api.twitter.com/1/statuses/user_timeline.json?screen_name=mozhacks&count=1",
onComplete: function (response) {
var tweet = response.json[0];
console.log("User: " + tweet.user.screen_name);
console.log("Tweet: " + tweet.text);
}
});
// Be a good consumer and check for rate limiting before doing more.
Request({
url: "http://api.twitter.com/1/account/rate_limit_status.json",
onComplete: function (response) {
if (response.json.remaining_hits) {
latestTweetRequest.get();
} else {
console.log("You have been rate limited!");
}
}
}).get();
所以可能的問題是你的PHP不輸出json.parse可以讀取的json字符串。請務必使用"
。通過在一個虛擬對象上運行json.stringify來確定你的php文件應該返回什麼。即:
var obj = {myarr:[1,8,9,7,89,0,'ji'],strr:'khhkjh',anothrtObj:{1:45,56:8}};
alert(JSON.stringify(obj)) //{"myarr":[1,8,9,7,89,0,"ji"],"strr":"khhkjh","anothrtObj":{"1":45,"56":8}}
所以現在在你的PHP請確保您的輸出文本mateches這種格式
{ 「myArr,該」:1,8,9,7,89,0, 「吉」] 「STRR」: 「khhkjh」, 「anothrtObj」:{ 「1」:45, 「56」:8}}
如果你的php輸出類似下面JSON.parse將在其上失敗,因此請求。JSON將爲空
{myArr,該:[1,8,9,7,89,0, 「唧」],STRR: 「khhkjh」,anothrtObj:{ 「1」:45, 「56」: 8}}
或
{ 'myArr,該':[1,8,9,7,89,0, 「唧」], 'STRR': 「khhkjh」, 'anothrtObj' :{ 「1」:45, 「56」:8}}
或
{'myarr':[1,8,9,7,89,0'ji'],'strr':'khhkjh','anothrtObj':{'1':45,'56':8 }}
hello :)謝謝你的回答:) 我可以在本地測試嗎?網址:「file.php」使用xamp服務器 – user3375448
酷男做了它的工作?只是爲了我自己的知識,所以在將來如果有人回答我可以告訴他們相同的? sdk是否有JSON對象? – Noitidart
我認爲他是的,但我不能夠測試它:/我認爲url:需要http:// url不只是一個PHP文件:/ – user3375448