簡體   English   中英

Firefox的Addon Firefox請求

[英]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.

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