Jquery Ajax没有成功的消息

时间:2015-04-30 13:50:29

标签: javascript jquery html ajax

我有一个可以在本地计算机上运行的html表单没有问题。 当我上传它时,它也可以工作,但不会显示成功消息。 这是我正在使用的脚本:

<script>
$(document).ready(function() {  
    // validate signup form on keyup and submit
    $("#_form_1033").validate({
    submitHandler: function(form) {
        $.ajax({
            url: form.action,
            type: form.method,
            data: $(form).serialize(),
            success: function(data) {
            $("#myformdiv").replaceWith("<p>Thanks!</p>");           
            }            
        });
    }
    });
});
</script>

有什么建议吗? 链接到实例 - http://ch2.co.il/form/smallsubscribe2015.html 可能是这个错误 - 如果是这样我该怎么办呢? XMLHttpRequest无法加载XXX否请求的资源上存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://ch2.co.il”访问。

谢谢

2 个答案:

答案 0 :(得分:1)

问题是因为您正在制作跨域AJAX请求,这会阻止浏览器的安全性 - 请参阅 Same Origin Policy.

请求期望您向启用CORS的域发出请求,因此它会抱怨不存在的标头。

您需要将请求更改为jsonp类型,或使用服务器端代理来获取数据。

最好将crossDomain:true添加到您的ajax函数中,如下所示

$("#_form_1033").validate({
    submitHandler: function(form) {
        $.ajax({
            url: form.action,
            type: form.method,
            crossDomain:true,
            data: $(form).serialize(),
            success: function(data) {
            $("#myformdiv").replaceWith("<p>Thanks!</p>");           
            }            
        });
    }
});

答案 1 :(得分:0)

感谢您的回复。这就是修正它的原因:

dataType: "json",