繁体   English   中英

是否有可能使用JQuery“a”跨域数据.ajax()

[英]Is it possible to 'PUT' data cross-domain with JQuery .ajax()

我们尝试将一些数据放到我们的服务器上,服务器端应该没问题,因为我们已经使用DEV HTTP CLIENT Chrome扩展进行了测试。 这是我们的代码,我认为它应该可以工作,但我不知道如何修复跨域错误。

$.ajax({
        type: "PUT",
        url: '...../add?callback=JSONPCallback',
        contentType: "application/jsonp; charset=utf-8",
        data: JSON.stringify({
            "name": "Test",
        }),
        jsonpCallback: "JSONPCallback",
        crossDomain: true,
        success: function (result) {
            console.log('Success!');
        },
        error: function (a, b, c) {
            console.error(a + " " + b + " " + c);
        },
        fail: function (e) {
            alert('fail');
        }
    });
}

在GET请求中,我们使用'dataType:'jsonp'',但这不适用于PUT。 是否有可能在成功方法中输出一个json对象并获取一个jsonp对象?

JSONP是一个GET操作(具体来说,是通过script标记创建的)。

可以执行跨域PUT ,而不是以JSONP方式。 您的目标服务器必须通过跨源资源共享允许您的源(并且您的浏览器必须支持带有XMLHttpRequest CORS ,而不是IE8和IE9 XDomainRequest对象 - 尽管如果您需要IE8和IE9支持,如果您环顾四周,您可以找到一个插件对于使jQuery在这些浏览器上使用XDomainRequest jQuery)。

如果您使用的是现代浏览器(即Firefox和chrome,safari),则可以使用HTML5 API CORS执行此操作。 这是使用cors的链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM