【问题标题】:Using jquery ajax jsonp to read .txt file that contains json syntax使用 jquery ajax jsonp 读取包含 json 语法的 .txt 文件
【发布时间】:2013-10-21 19:51:30
【问题描述】:

远程服务器上的 .txt 文件包含我需要检索的 json 语法。我正在使用 jsonp,因为它在另一个域上。

我试过这样:

$.getJSON('http://www.server1.com/json.txt'+'?callback=?', function(data){
    console.log(data);    
});

.txt 文件是here 但是当json的名字-值对被“解析”时我得到一个错误:

意外的令牌:

我尝试更改 txt.json 并添加了 var mydata={ jsonSyntax },这样我不会收到错误消息,但控制台中不会记录任何数据。 那么如何使用 jsonp 请求和解析 json.txt 呢?

【问题讨论】:

  • 为了让 JSONP 工作,您不应该使用 $.getScript 而不是 $.getJSON?
  • 很可能你的 json 不是 jsonp,这就是为什么请求它作为 JSONP 失败的原因。

标签: jquery json jsonp


【解决方案1】:

jsonp 通过将服务器上的数据包装在回调函数中来工作。大多数服务器将允许您指定回调。由于您有一个静态文本文件,因此您需要将函数名称硬编码到文本文件中,然后将该名称指定为 ajax 调用中的参数。

json.txt文件改成这样:

callback({ jsondata });

还有你的 ajax 调用:

$.ajax({
    ...
    dataType: 'jsonp',
    jsonpCallback: 'callback'
}).done(function(data) { 
    console.log(data); 
});

【讨论】:

    猜你喜欢
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多