0

嗨,这是我的代码..

<html>
<head>   
<script src="http://code.jquery.com/jquery-1.8.0.min.js">
</script>
</head>  
<body> 
<form id="foo">

    <label for="bar">A bar</label>
    <input id="bar" name="bar" type="text" value="" />

    <input type="submit" value="Send" />

</form>  
<div id ="onsuccess">      
</div>   
<script>  
// variable to hold request
var request;
// bind to the submit event of our form
$("#foo").submit(function(event){   
    var $form = $(this);
    var serializedData = $form.serialize();
    request = $.ajax({
        url: "a.txt",
        type: "post",
        dataType: "text", 
        data: serializedData,
        success: function(){ 
        console.log("yes, its successful");},
        error : function(){console.log("got an error");}
    });
});

</script>
</body> 
</html>

我正在尝试访问位于同一目录中的 a.txt。但是成功和错误功能永远不会调用,这是无法理解的。Firebug 网络状态显示没有调用。奇怪

但是,如果我使用

request.done(function (response, textStatus, jqXHR){
        // log a message to the console
        console.log("Hooray, it worked!");
        //$("#success").html(response);
    });

它确实有效。

4

2 回答 2

1

需要将此添加到提交处理程序

event.preventDefault()

在 IIS 上将 POST 更改为 GET 也适用于我

于 2013-09-10T05:01:01.773 回答
0

尝试 .done、.fail 和 .always

成功和错误回调在 jquery 1.8中已弃用

弃用通知:jqXHR.success()、jqXHR.error() 和 jqXHR.complete() 回调自 jQuery 1.8 起已弃用。要为最终删除准备代码,请改用 jqXHR.done()、jqXHR.fail() 和 jqXHR.always()。

于 2013-09-10T04:52:29.570 回答