JSONP - "Uncaught SyntaxError:Unexpected token"

Sha*_*rif 3 javascript ajax jquery json jsonp

在我解释我的问题之前,我想提一下,我很天真jsonp.这实际上是我第一次尝试合作JSONP.

我使用jquery ajax调用从网站上撤回数据.

我的jquery代码如下

$.fn.checkTPS = function(){

    return this.each(function(){
        var interval;

        $(this).on('keyup', function() {
            var api_key = 'asdfasfsadfsadfsad';
            var format = 'json';
            var username = 'dame@example.co.uk';

            var self = $(this);
            var selfValue;
            var feedback = $('.tps-feedback');

            if(interval === undefined){

                interval = setInterval(function(){

                    if(selfValue !== self.val()) {

                        selfValue = self.val();

                        if (selfValue.length > 9){
                            $.ajax({
                                url: 'https://www.selectabase.co.uk/api/v1/tps/' + selfValue + '/',
                                type: 'get',
                                dataType: 'jsonp',
                                data: {
                                    format: format,
                                    username: username,
                                    api_key: api_key
                                },
                                success: function(data) {
                                    console.log(data);
                                },
                                error: function() {

                                },
                                jsonp: 'jsonp'
                            });
                        }
                    }
                },3000);
            }
        });
    });
};
Run Code Online (Sandbox Code Playgroud)

我想要提供服务selectabase.co.uk,据他们说这是我应该如何使用该服务https://www.selectabase.co.uk/api/v1/tps/[number]/?format=json&username=[username]&api_key=[api key]

当我使用ajax发送请求时,我得到了这个错误Uncaught SyntaxError: Unexpected token :,当点击时,这打开了 {"ctps": false, "number": "1452500705", "resource_uri": "/api/v1/tps/01452500705/", "tps": false}我想要的方式,但不知道这个错误是什么unexpected token :

我从inspect元素选项卡中复制了以下链接(你可以看到下图)我认为这是json生成的调用 https://www.selectabase.co.uk/api/v1/tps/01452500705/?jsonp=jQuery17102731868715648129_14120077325500&format=json&username=dame40example.co.uk&api_key=asdfasfsadfsadfsad&_=14120077325500

我从inspect element > source tabchrome中复制了下面的链接..我想我应该添加一个图像来正确描述我从中复制的这个json数据和链接.

在此输入图像描述

我希望我能够传达我的信息......请帮助,如果你有任何想法我需要添加什么......问候

T.J*_*der 6

format=json在您的查询字符串可能应该是format=jsonp.服务器正在使用JSON进行回复,但您期望得到JSONP响应.但我不知道他们支持format=jsonp,这只是猜测.

或者,如果该服务器支持CORS并允许来自您的源的请求,则可以改为处理JSON(只需dataType: "json"从您的ajax调用中删除).请注意,这将要求用户使用正确支持CORS的浏览器,IE8和IE9不支持.(它们支持CORS,但不支持普通XMLHttpRequest对象,这是一个浏览器不一致,jQuery 不能为你平滑.但是,如果你搜索,你可以找到"插件"或类似的处理它.)