Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-.get适用于1个URL,但不适用于另一个URL_Jquery - Fatal编程技术网

jQuery-.get适用于1个URL,但不适用于另一个URL

jQuery-.get适用于1个URL,但不适用于另一个URL,jquery,Jquery,我使用jQuery的.get特性尝试获取两个URL,第一个链接工作得很好,但是第二个链接不会将数据附加到div //找到输入框 var URL=$(“#下载”); //当按下按钮时 函数downloadURL(){ //从输入框中获取URL var downloadURL=URL.val(); //在链接的网站上获取JSON的内容 $.get(下载URL, //将其添加到输出div 功能(数据){ $(“#输出”).append(数据) } ); //告诉我它实际上已经接受了URL 警报(下载

我使用jQuery的.get特性尝试获取两个URL,第一个链接工作得很好,但是第二个链接不会将数据附加到div

//找到输入框
var URL=$(“#下载”);
//当按下按钮时
函数downloadURL(){
//从输入框中获取URL
var downloadURL=URL.val();
//在链接的网站上获取JSON的内容
$.get(下载URL,
//将其添加到输出div
功能(数据){
$(“#输出”).append(数据)
}
);
//告诉我它实际上已经接受了URL
警报(下载URL);
}

试验
第二个URL将作为
对象而不是
字符串返回<代码>$。追加
需要一个DOM对象或字符串

如果你真的想用这种方式附加它,你可以把它串起来

urls = [];
urls.push("https://raw.githubusercontent.com/TemporalReality/modpacks/master/packs/ingenuity.json");
urls.push("http://widget.mcf.li/mc-mods/minecraft/224791-blood-magic.json");

$(urls).each(function(i, item){
  $.get(item, function(data){
    console.log(typeof data, item); // <-- watch the console
    if (typeof data === "object") {
      data = JSON.stringify(data);
    }
    $("#output").append(data).append('<hr>');
  });
});

我上面那个人说的是对的。唯一可以绕过它的方法是使用php或服务器端脚本之类的东西从服务器请求数据。+1对您来说,您实际上费心测试两个链接,而且它们似乎都能工作,只是其中一个没有将自己标识为JSON,所以它没有被jQuery解析,字符串是未解析的。有一种更简单的方法来解决这个问题,只需添加一个数据类型作为
$的最后一个参数。get
,jQuery将无需重新解析它,就像这样->非常感谢,很高兴它有帮助。还有一点很好,adeneo。如果您已经在使用jQuery,那么不妨尝试一下。
if (typeof data === "string") {
  data = JSON.parse(data);
}
console.dir(data);