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