Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
Jquery 调用ajax json请求_Jquery_Json_Ajax - Fatal编程技术网

Jquery 调用ajax json请求

Jquery 调用ajax json请求,jquery,json,ajax,Jquery,Json,Ajax,我正在尝试从中获取json数据 为此,我尝试了以下跨域请求,但出现错误:/ $(document).ready(function() { var contentType = "application/x-www-form-urlencoded; charset=utf-8"; if (window.XDomainRequest) { contentType = "text/plain"; } $.ajax({ type: 'GE

我正在尝试从中获取json数据

为此,我尝试了以下跨域请求,但出现错误:/

$(document).ready(function() {
    var contentType = "application/x-www-form-urlencoded; charset=utf-8";

    if (window.XDomainRequest) {
        contentType = "text/plain";
    }

    $.ajax({
        type: 'GET',
        url: 'https://twitter.com/i/search/timeline?f=realtime&q=blogger&src=typd',
        dataType: 'jsonp',
        contentType: contentType,
        success: function(data) {
            alert("Data from Server" + JSON.stringify(data));
        },
        error: function(jqXHR, textStatus, errorThrown) {
            alert("You can not send Cross Domain AJAX requests: " + errorThrown);
        }
    });
});

在服务器允许之前,您无法执行跨域请求。如果他们有凭据,您通常应该将他们的API与凭据一起使用


另一个解决方案是将数据存储在服务器上(它向twitter发出curl请求,没有CORS问题),然后对服务器进行ajax调用。但根据国家的不同,你会面临法律问题

在服务器允许之前,您无法执行跨域请求。如果他们有凭据,您通常应该将他们的API与凭据一起使用


另一个解决方案是将数据存储在服务器上(它向twitter发出curl请求,没有CORS问题),然后对服务器进行ajax调用。但根据国家的不同,你会面临法律问题

似乎与此类似:

您必须使用JSONP

编辑:

这可能对OP不起作用,因为他正试图访问Twitter。但是,如果您无意中发现了这一点,并试图在您控制的服务器上使用同一个域或两个域,请查看。如果不是的话,皮埃尔是对的


您可能必须找到另一种获取数据的方法。您可以尝试用服务器端语言编写它,用AJAX调用该文件并检索数据。对用户来说,它看起来是一样的

似乎与此类似:

您必须使用JSONP

编辑:

这可能对OP不起作用,因为他正试图访问Twitter。但是,如果您无意中发现了这一点,并试图在您控制的服务器上使用同一个域或两个域,请查看。如果不是的话,皮埃尔是对的



您可能必须找到另一种获取数据的方法。您可以尝试用服务器端语言编写它,用AJAX调用该文件并检索数据。对用户来说,它看起来是一样的

什么错误?您可以发布错误吗?它只是显示了我的消息“您不能发送跨域AJAX请求”,您是否验证了API支持JSON-P?对它的支持不是自动的,也不是保证的。必须实现服务器才能对响应中的填充使用
回调
。@MHS我正在使用mozilla firefox 46。请求
https://twitter.com/i/search/timeline
似乎不支持JSON-P或CORS。如果没有这些,请求将不可能在客户端进行,因为存在错误(JSON-P绕过它,CORS向它授予异常,两者都需要服务器的支持)。请求可能必须从应用程序自己的服务器端层发出,SOP不适用于该层。什么错误?您可以发布错误吗?它只是显示了我的消息“您不能发送跨域AJAX请求”,您是否验证了API支持JSON-P?对它的支持不是自动的,也不是保证的。必须实现服务器才能对响应中的填充使用
回调
。@MHS我正在使用mozilla firefox 46。请求
https://twitter.com/i/search/timeline
似乎不支持JSON-P或CORS。如果没有这些,请求将不可能在客户端进行,因为存在错误(JSON-P绕过它,CORS向它授予异常,两者都需要服务器的支持)。请求可能必须从应用程序自己的服务器端层发出,SOP不适用于该层。无法将PHP用于sameyou无法在客户端执行请求。服务器端您可以编写nodejs http请求,并使用ChereIOJS(jquery服务器端的一个版本)对其进行解析。无法将PHP用于sameyou无法在客户端执行请求。服务器端您可以编写nodejs http请求并用ChereIOJS(jquery服务器端的一个版本)解析它。OP已经在尝试使用JSON-P了–
数据类型:“jsonp”
。哇!错过了。谢谢你的提醒。别理我。如果其他任何人遇到类似问题,请首先检查。他正在尝试向twitter发出请求,但该请求无效。OP正在尝试使用JSON-P–数据类型:“jsonp”。哇!错过了。谢谢你的提醒。别理我。如果其他人有类似的问题,请先检查一下。他正试图向twitter发出请求,但这不会起作用。