2013-12-10 32 views
1
function SuccessFire() { 
    var Datapost = document.forms[0].serialize(); 
    $.ajax({ 
     type: "POST", 
     data: Datapost, 
     url: "/Login/Authenticate", 
     success: function (data) { 
     alert("success");      
     }, 
     error: function (data) { 
     alert("failure") 
     } 
    }); 
} 

上面的代碼是不點火成功,函數
更多一些額外的細節
1.身份驗證時動作結果
2.從身份驗證它返回首頁使用「RedirectToAction」
3.指數動作動作返回查看jQuery的阿賈克斯成功的功能不會被觸發的形式提交/連載

+1

什麼問題,在控制檯中看到什麼錯誤? '$(document.forms [0])。序列化()'? – PSL

+0

您傳遞給您的操作方法的數據類型是什麼? – SoftSan

+0

錯誤和成功函數都沒有觸發 – user3080252

回答

0

請您在瀏覽器中調試模式下檢查,看看是否您收到HTTP狀態= 200

1

我想你可能正在尋找jquery serialize(),它可以在jquery對象上執行,而不是在原始DOM元素上執行(由document.forms[0]返回)。所以你的腳本必須在事件發出之前打破ajax調用。

大概:

var Datapost = $(document.forms[0]).serialize(); 

只看你看到什麼樣的錯誤你的瀏覽器控制檯。

+0

我能夠在操作方法中看到序列化的值 – user3080252

+0

@ user3080252您是否能夠看到它們,並且您是否從操作中返回?你看到的是什麼http狀態碼。 – PSL

0

是否因爲響應是重定向(Http Code 302)?