Ajax和JSONP Uncaught SyntaxError:意外的令牌

时间:2014-03-23 11:26:38

标签: javascript jquery ajax json

我正在尝试从000webhost上的主机获取数据

数据是JSONP文件:

{
  "categories": {
    "category": [
      {
       "name": "Android",
       "parent": "Computer Science",
       "ID": "2323"
      },
      {
      "name": "Java",
      "parent": "Android",
      "ID": "12"
      },
      {
      "name": "HTML",
      "parent": "Android",
      "ID": "32"
      },
      {
      "name": "Javascript",
      "parent": "Android",
      "ID": "4552"
      },
      {
      "name": "CSS",
      "parent": "Android",
      "ID": "4553"
      },
      {
      "name": "Math",
      "parent": "Computer Science",
      "ID": "3778342"
      },
      {
      "name": "JAVA",
      "parent": "Computer Science",
      "ID": "377655"
      },
      {
      "name": "Computer Science",
      "parent": "none",
      "ID": "1"
      }
     ]
  }
}

我试过了:

$(document).ready(function(){

(mainFunction=function(){

$.ajax({

 dataType: 'jsonp',

 data: null,

 jsonp: 'categories',

 url: 'http://blabla.site11.com',

 success: function (response) {


 }
  });

})();

但我总是收到错误:Uncaught SyntaxError:Unexpected token。

我只是想知道如何从http://blabla.site11.com/categories.jsonp

获取categories.jsonp文件

1 个答案:

答案 0 :(得分:0)

您的服务器必须返回此信息:

categories('<your JSON>');

在您的客户端代码中,您必须拥有一个categories()函数来处理该JSON(它必须接受它作为参数)。如果您的服务器没有这样做,您将向页面添加一个仅包含JSON的脚本,这会导致语法错误。

因此,您的服务器本机处理JSON,或者您必须修改文件的内容以使其符合JSONP有效请求。