Javascript 使用Jquery进行跨域Ajax调用

Javascript 使用Jquery进行跨域Ajax调用,javascript,jquery,ajax,cross-domain,Javascript,Jquery,Ajax,Cross Domain,几天来,我一直在努力实现这一目标: $.ajax({ url: 'http://otherdomain.com/mail.json' , dataType: 'json', data: jsonObject, success: function(data){ alert("Thank you for you

几天来,我一直在努力实现这一目标:

            $.ajax({
                url: 'http://otherdomain.com/mail.json' ,
                dataType: 'json',
                data: jsonObject,
                success: function(data){
                    alert("Thank you for your inquiry. We will get back to you soon.");                     
                }
            });
当我使用Chrome Postman应用程序进行测试时,
mail.json
API起作用,响应标题如下:

Accept-Ranges →bytes
Access-Control-Allow-Origin →*
Alternate-Protocol →80:quic,p=0.002
Cache-Control →private
Content-Encoding →gzip
Content-Length →22
Content-Type →application/json; charset=UTF-8
Date →Mon, 15 Sep 2014 05:18:09 GMT
Server →Google Frontend
Vary →Accept-Charset, Accept-Encoding, Accept-Language, Accept

我的Jquery代码中可能有什么错误,因为服务器工作正常。

对于跨域ajax调用,最好使用JSONP。您可以在此处获得更多信息:

正如您所说,当单击此ajax调用所在的表单提交按钮时,页面将重新加载。如果使用异步提交,则应取消浏览器的默认操作。例如

$('submit').click(function(e){
    //prevent default action
    e.preventDefault();
    $.ajax({
       url: ,
       success: function(res) {

       }
    })
})

URL
http://otherdomain.com/mail.json
来自另一个域。根据“同源策略”,您应该无法发送请求(除非您只需在浏览器中打开HTML文件并部署到服务器,例如
file:///C:/Projects/HTML5/WebContent/request.html
,我想)

要进行跨域Ajax请求,可以按照@Vivin的建议尝试JSONP。因此,您的jQuery代码可以如下所示:

$.ajax({
        url: url,
        dataType: 'jsonp',
        jsonp: 'jsonpcallback',
    }).done(function(data) { // deal with your data
    });

在服务器端,需要返回类似于
jsonpcallback(JSON字符串中的\u数据)
的内容。有关更详细的教程,您可以在线搜索。这是我写的一篇中文教程:

你的控制台中有错误吗我在控制台中看不到任何错误,实际上,当在ajax调用所在的位置单击表单提交按钮时,页面会重新加载。