Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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
Javascript 如何在jQuery ajax调用中将JSON响应解析为JSONP?_Javascript_Jquery_Json_Ajax_Jsonp - Fatal编程技术网

Javascript 如何在jQuery ajax调用中将JSON响应解析为JSONP?

Javascript 如何在jQuery ajax调用中将JSON响应解析为JSONP?,javascript,jquery,json,ajax,jsonp,Javascript,Jquery,Json,Ajax,Jsonp,我正在处理todoist API(),并使用以下命令发出jquery ajax get请求以获取一些数据: var url = "https://todoist.com/API/v7/sync"; var data = { 'token' : token, 'resource_types' : '["all"]', }; $.ajax({ url: url, data: data, type: 'GET', dataType: 'jso

我正在处理todoist API(),并使用以下命令发出jquery ajax get请求以获取一些数据:

var url = "https://todoist.com/API/v7/sync";
var data = {
    'token' : token,
    'resource_types' : '["all"]',
    };


$.ajax({
    url: url,
    data: data,
    type: 'GET',
    dataType: 'jsonp',
    success: function(response) { 

        console.log(response);

    },
    error: function(response) { 
        console.log('error');
    },
});
现在,当我得到响应时,我得到了错误

为什么??因为根据()jQuery需要一个jsonp格式的响应,但它返回json


我一直在研究如何解决这个问题,答案是:“以jsonp格式返回数据”。。好。这是一个外部API,它们不在JSONP中提供数据。有没有一种方法可以重写返回的函数并解析这个JSON数据?

您的数据类型应该是
JSON
,而不是
jsonp

,正如elektronik指出的那样,数据类型应该是
JSON
,而不是
jsonp
。代码如下所示

var token = "your token"
var url = "https://todoist.com/API/v7/sync";
var data = {
    'token' : token,
    'resource_types' : '["all"]',
    };

jQuery.ajax({
    url: url,
    data: data,
    type: 'GET',
    dataType: 'json',
    success: function(response) { 
        console.log(response);
    },
    error: function(response) { 
        console.log('error');
    },
});

是否定义了
token
?链接文档建议使用
POST
request“同步API请求应在HTTP POST(应用程序/x-www-form-urlencoded)中进行。同步API响应(包括错误)将以JSON返回。”?已定义,是正确的。我自己测试了一下。。。非常感谢。
var token = "your token"
var url = "https://todoist.com/API/v7/sync";
var data = {
    'token' : token,
    'resource_types' : '["all"]',
    };

jQuery.ajax({
    url: url,
    data: data,
    type: 'GET',
    dataType: 'json',
    success: function(response) { 
        console.log(response);
    },
    error: function(response) { 
        console.log('error');
    },
});