Javascript Ajax请求不适用于IE和OPERA

Javascript Ajax请求不适用于IE和OPERA,javascript,jquery,ajax,internet-explorer,Javascript,Jquery,Ajax,Internet Explorer,由于某些原因,我在使用ajax请求时没有得到响应。它不适用于互联网爆炸和歌剧。它适用于Firefox和Chrome。代码如下: $(document).ready(function() { $("#registration").submit(function (e) { e.preventDefault(); var str = $(this).serialize(); $.ajax({ type: "POST",

由于某些原因,我在使用ajax请求时没有得到响应。它不适用于互联网爆炸和歌剧。它适用于Firefox和Chrome。代码如下:

$(document).ready(function() {
    $("#registration").submit(function (e) {
        e.preventDefault();
        var str = $(this).serialize();
        $.ajax({
            type: "POST",
            url: "/ajax.php",
            data: str,
            success: function (msg) {
            alert(msg);
            }
        });
    });
});
我将
AddDefaultCharset utf-8
添加到
.htaccess
文件中,但我仍然无法将其用于IE和Opera


有什么问题吗?

过去我也遇到过同样的问题。解决这个问题的方法是将.ajax调用放在一个var上

var callAjax =   function(){
$.ajax({
        type: "POST",
        url: "/ajax.php",
        data: str,
        success: function (msg) {
        alert(msg);
        }
})

还可以尝试将以下内容放在jquery Click事件之外。(全球)


我希望这有帮助。

调试器和/或控制台怎么说?为什么你不能像处理成功一样处理错误?为什么你要使用完整的URL?您正在尝试执行跨域请求吗?调试器什么也没说。它在IE8和IE9上不起作用,我添加了错误处理,但什么也没发生。它总是触发成功处理
http://foobar.com/ajax.php
不能是实际的URL。更新问题以获得实际的url/路径。另外,在函数体中添加一个带有console.log(参数)的
error
回调,然后发回它的输出。我添加了error回调,但输出console.log是空的
var str = $(this).serialize();