[英]Addon firefox php request
我正在尝试开发Firefox扩展
问题:
var Request = require("sdk/request").Request;
var latestTweetRequest = Request({
url: "file.php",
onComplete: function (response) {
var List = response.json;
}
});
我想使用此请求函数将json从php文件解析为数组(在此处列出)。
php我的php文件正确地回显了json格式,但是我无法将数据转换为javascript数组以能够在我的插件中使用。 如果有比使用此功能更好的主意,请告诉我:)
试试这个: MDN-JSON对象
JSON.parse和JSON.stringify
var Request = require("sdk/request").Request;
var latestTweetRequest = Request({
url: "file.php",
onComplete: function (response) {
var List = JSON.parse(response.json);
}
});
使用双引号非常重要。
如果您对JSON.parse有问题。 将您的数组复制到便签本,然后在其上运行JSON.stringify,然后确保您的php文件与分层结果匹配。
如果Addon-SDK没有JSON,那么您必须要求模块(如果有)。 如果没有一个,除了require('chrome')并在此处获取组件
Noitidarts代码中有一个错误。
为什么JSON.parse request.json? 如果要解析,请在request.text上执行
但是无需json.parse,因为请求模块会尝试解析,并且如果成功重调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中确保您输出的文本匹配此格式
{ “myArr,该”:[1,8,9,7,89,0, “唧”], “STRR”: “khhkjh”, “anothrtObj”:{ “1”:45, “56”:8}}
如果您的php输出类似于JSON.parse的内容,则它将失败,因此request.json将为null
{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, 'ジ'], 'STRR': 'khhkjh', 'anothrtObj':{ '1':45,'56' :8}}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.