簡體   English   中英

jQuery .post()沒有觸發成功處理程序方法

[英]jQuery .post() is not triggering the success handler method

情況:

  • 我有一個簡單的表單,將調用.post() call( )而不是實際的提交。
  • 該帖子的工作方式是它將發布請求並在響應正文中接收具有預期字符串的200 (OK)狀態(可以在FireBug的Net-View中看到)。

題:

  • 永遠不會執行帶alert()的匿名函數。 這是為什么?

筆記:

  • 我已插入警報以指示方法何時觸發
  • 在代碼下面方便的小提琴鏈接。

編碼:

這是我的表格:

<form>
    <input type="submit" value="Submit" />
</form>

這是我期望的工作:

$(document).ready(function () {
    $('form').submit(function (e) {
        e.preventDefault();
        $.post('/echo/html/', {
            html: "<span>jsFiddle test return msg</span>",
            delay: 1
        }, function (data, textStatus, jqXHR) { 
            $('form').append(data); 
            alert("done"); // <----- THIS NEVER FIRES
        }, 'json');
    });
});

FIDDLE 1


這不起作用:

$(document).ready(function () {
    $('form').submit(function (e) {
        e.preventDefault();
        $.post('/echo/html/', {
            html: "<span>jsFiddle test return msg</span>",
            delay: 1
        }, null, 'json').done(function (data, textStatus, jqXHR) {
            $('form').append(data);
            alert("done"); // <----- THIS NEVER FIRES
        });
    });
});

FIDDLE 2


這將觸發警報,但數據將為空。

$(document).ready(function () {
    $('form').submit(function (e) {
        e.preventDefault();
        $.post('/echo/html/', {
            html: "<span>jsFiddle test return msg</span>",
            delay: 1,
            success: function (data, textStatus, jqXHR) {
                $('form').append(data); // <----- DATA IS UNDEFINED
                 alert("done");         // <----- THIS FIRES!
            }
        }, null, 'json');
    });
});

FIDDLE 3

您將錯誤的數據類型設置為json,服務器返回html類型數據。 順便說一下,你不需要指定它:

dataType類型:String服務器所需的數據類型。 默認值:智能猜測(xml,json,腳本,文本,html)。

http://jsfiddle.net/9NrL5/4/

$(document).ready(function () {
    $('form').submit(function (e) {
        e.preventDefault();
        $.post('/echo/html/', {
            html: "<span>jsFiddle test return msg</span>",
            delay: 1
        }, function (data, textStatus, jqXHR) {
            $('form').append(data);
            alert("done");
        });
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM