6

这些天我正在学习javascript,我有疑问。我有一个包含 url 的变量。我想将我的变量指向的 url 的内容保存在另一个变量中......

第一个变量类似于:

var Link = "http://mysite.com/json/public/search?q=variabile&k=&e=1";

如果我打开链接,我会看到如下内容:

{

"count": 1,
"e": 1,
"k": null,
"privateresult": 0,
"q": "gabriel",
"start": 0,
"cards": [
    {
        "__guid__": "cdf8ee96538c3811a6a118c72365a9ec",
        "company": false,
        "__title__": "Gabriel Butoeru",
        "__class__": "entity",
        "services": false,
        "__own__": false,
        "vanity_urls": [
            "gabriel-butoeru"
        ]
    }
]
}

如何将 json 内容保存在另一个 javascript 变量中?

4

5 回答 5

19

您需要一个简单的 AJAX 请求才能将内容放入变量中。

var xhReq = new XMLHttpRequest();
xhReq.open("GET", yourUrl, false);
xhReq.send(null);
var jsonObject = JSON.parse(xhReq.responseText);

请注意,AJAX 受same-origin-policy约束,如果 URL 不同,则会失败。

于 2012-06-20T09:50:26.407 回答
4

你可以这样使用

  var savings_data = JSON.stringify(your_json_object);
于 2012-06-20T09:49:54.053 回答
1

您可以通过这种方式将json保存为对象

参考:Json

var obj = {};

 obj.name = "test";
 obj.no   = "1234";
于 2012-06-20T09:44:59.763 回答
1

我认为这可能会帮助你,使用 jQuery ... :)

$.ajax({
    beforeSend: function() { DO HERE WHATEVER }, //Show spinner

            complete: function() { DO HERE WHATEVER  }, //Hide spinner

            type: 'POST',
            url: Link,
            dataType: 'JSON',
            success: function(data){
                                var data = data;
                               OR IF YOU WANT SEPARATE THE VALUES...
                                var count = data.count;
                                var e = data.e;
                                var k = data.k;
                                ...
             }                               
          });      
于 2012-06-20T09:50:00.327 回答
0

此示例考虑了请求的状态,并允许您使用点运算符访问 JSON 格式的数据。

var request = new XMLHttpRequest();
request.open("GET", "mysite.com/json/public/search?q=variabile&k=&e=1", true); 
request.setRequestHeader("Content-type", "application/json"); 
request.send(); 
request.onreadystatechange = function(){
     if(request.ready == 4 && request.readyState == 200){
          var response = request.responseText; 
          var obj = JSON.parse(response);
          alert(obj.count); // should return the value of count (i.e Count = 1) 
          alert(obj.e); // should return the value of e (i.e. e = 1) 
          var count = obj.count;  //store the result of count into your variable
          var e = obj.e; //store the result of e into your variable
          //...and so on 
     }
} 
于 2016-01-26T20:11:48.307 回答