Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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 JSONP-“;未捕获的语法错误:意外标记“;_Javascript_Jquery_Ajax_Json_Jsonp - Fatal编程技术网

Javascript JSONP-“;未捕获的语法错误:意外标记“;

Javascript JSONP-“;未捕获的语法错误:意外标记“;,javascript,jquery,ajax,json,jsonp,Javascript,Jquery,Ajax,Json,Jsonp,在我解释我的问题之前,我想提一下,我对jsonp很幼稚。这实际上是我第一次尝试使用JSONP 我使用jqueryajax调用从网站上回调数据 下面是我的jquery代码 $.fn.checkTPS = function(){ return this.each(function(){ var interval; $(this).on('keyup', function() { var api_key = 'asdfasfsadfs

在我解释我的问题之前,我想提一下,我对
jsonp
很幼稚。这实际上是我第一次尝试使用
JSONP

我使用jqueryajax调用从网站上回调数据

下面是我的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);
            }
        });
    });
};
我想提供
selectabase.co.uk
提供的服务,根据他们的说法,这就是我应该如何使用该服务
https://www.selectabase.co.uk/api/v1/tps/[number]/?format=json&username=[username]&api_key=[api key]

当我使用ajax发送请求时,我得到了这个错误
未捕获的语法错误:意外的标记:
,当单击它时,就会打开
{“ctps”:false,“number”:“1452500705”,“resource_uri”:/api/v1/tps/01452500705/”,“tps”:false}
顺便说一下,我想要但不知道这是什么错误
意外标记:

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

我从chrome的
inspect element>source选项卡中复制了下面的链接。。我想我应该添加一个图像来正确描述我复制的json数据和链接的位置


我希望我已经设法把我的信息传达给了。。。请帮助,如果你有什么想法我需要补充。。。查询字符串中的
format=json
可能应该是
format=jsonp
。服务器正在用JSON进行响应,但您需要一个JSONP响应。但我不知道它们是否支持
format=jsonp
,这只是猜测


或者,如果该服务器支持并允许来自您的源站的请求,您可以处理JSON(只需从
ajax
调用中删除
dataType:“JSON”
)。请注意,这将要求用户使用IE8和IE9没有的浏览器。(它们支持CORS,但不是通过普通的
XMLHttpRequest
对象,这是一种浏览器不一致性,jQuery无法为您解决。但是,如果您搜索,您可以找到“插件”或类似的插件来处理它。)

服务器正在发回JSON,而不是JSONP。这就是问题所在,但是如果我使用
dataType:'json'
browser将请求发送给url@Sharif服务器需要使用JSONP本身进行响应。此格式与ajax JSONP无关这是他们希望发送数据的方式
?format=json&username=[username]&api_key=[api key]
@Sharif:通常,如果这样的服务有一个
格式
查询字符串param,那么它们支持多种格式(JSON、XML和JSONP都很流行)。这一个可能支持,也可能不支持,但同样地,因为它们似乎支持CORS,如果它们提供的只是JSON,那么您可以使用JSON。@Sharif:“我也尝试过jsonp,但仍然是相同的错误”是的,我不确定它们是否真的支持jsonp,只是JSON。(这会很奇怪,但我对他们的页面进行了一些修改,看起来就是这样的…)所以您必须使用答案的第二段。我刚刚从代码中删除了数据类型:“jsonp,这个错误XMLHttpRequest无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此不允许源代码“”访问。@Sharif:Darn,这意味着它们不支持来自您的源代码的CORS。如果他们不支持JSONP,也不支持您的源代码中的CORS,您就不能在客户端查询此信息。您需要查询自己的服务器,并让服务器查询它们。