1

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

我试过这样:

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

.txt 文件在这里 但是当 json 的第一个名称 - 值对被“解析”时出现错误:

意外的标记 :

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

4

1 回答 1

0

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

json.txt将文件更改为:

callback({ jsondata });

你的ajax调用这个:

$.ajax({
    ...
    dataType: 'jsonp',
    jsonpCallback: 'callback'
}).done(function(data) { 
    console.log(data); 
});
于 2013-10-21T20:00:14.643 回答