【问题标题】:ajax cross domain not working in jqueryajax跨域在jquery中不起作用
【发布时间】:2016-04-25 07:37:59
【问题描述】:

错误:

对预检请求的响应未通过访问控制检查:“Access-Control-Allow-Origin”标头包含多个值“http://localhost:8080, *”,但只允许一个。 Origin 'http://localhost:8080' 因此不允许访问。

$("#selector3").autocomplete({
            source: function(request, response) {               

                $.ajax({
                   url: "http://example.com/"+$("#selector3").val(),
                    type: "GET",
                        dataType: "json",
                        data: request,
                        processData: true,
                        data: {},

                        headers: { 
                            "Access-Control-Allow-Origin" : "*",
                            "Access-Control-Allow-Headers": "origin, content-type, accept"
                                    },

                        crossDomain: true,
                    success: function(data) {   
                        alert(data.Company_Id);
});

【问题讨论】:

    标签: jquery ajax


    【解决方案1】:

    请使用JSONP 进行跨域脚本。

    查看以下示例代码:

    $.ajax({
        url: "http://example.com/" + $("#selector3").val(),
        type: "GET",
        dataType: 'jsonp', // Notice! JSONP <-- P (lowercase)
        data: request,
        processData: true,
        data: {},
        headers: {
            "Access-Control-Allow-Origin": "*",
            "Access-Control-Allow-Headers": "origin, content-type, accept"
        },
        success: function(data) {
            alert(data.Company_Id);
        }
    });
    

    【讨论】:

    • 我已更改数据类型:jsonp,我收到响应错误(错误:未调用 jQuery1113042518210380525434_1461646502000)
    • @Arunkumar,这意味着网络错误或不返回 JSONP 响应的端点。
    【解决方案2】:

    您从 Javascript 发送到服务器的标头应该由服务器返回。如果您无法访问服务器,这将是不可能的。这意味着服务器接受您的域作为合法处理器。

    接下来,您可以尝试 JSONP 调用。检查此网址:https://learn.jquery.com/ajax/working-with-jsonp/

    【讨论】:

      【解决方案3】:

      你不能在其他网站源代码上做ajax操作,除非你有权利。你必须在服务器端这样做。在 php 中可以使用 cURL,在 .net 中可以使用 html 敏捷包。

      【讨论】:

        猜你喜欢
        • 2013-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-10
        • 1970-01-01
        • 1970-01-01
        • 2012-10-09
        • 2014-04-18
        相关资源
        最近更新 更多