idee將表單數據從正常的外部Html頁面發佈到另一個MVC站點控制器。然後數據處理就像使用web服務一樣。MVC ActionResult返回類型應該爲外部HTML ajaxForm發帖
$(document).ready(function() {
var options = {
target: '#output',
success: function(data){ alert('test success'); },
url: http://localhost:57232/Services/SendFormData,
dataType: json
};
$('form').ajaxForm(options);
});
ActionResult在FormCollection對象中正確接收數據。
[HttpPost]
public ActionResult SendFormData(FormCollection collection)
{
string s = string.Empty;
return Json(new { Success = true, Message = "Message!" }, JsonRequestBehavior.AllowGet);
}
此時返回的成功結果,但是當它到達的外在形式我的瀏覽器,在這種情況下,IE試圖保存或打開返回調用成功回調函數,而不是字節。
由於此頁面是外部頁面,而不是MVC網站的一部分,因此我無法使用視圖或部分視圖。返回類型應該是什麼?
您的「目標」選項是告訴表單插件用返回的數據替換#output中的數據。我會擺脫測試,只依靠回調成功函數。另外,我認爲你需要把你的網址放在引號中。 – BZink 2011-05-11 21:18:53
您的表單中是否包含文件上傳字段? – 2011-05-11 21:22:30
嗨,沒有上傳字段,大部分的字段是輸入類型隱藏的,一旦發佈就會在服務器端使用,這個想法是繞過查詢字符串,這可能會限制數據量。我已經在網址中加入了引號並刪除了目標選項。在這兩種情況下都留下了相同的問題。它甚至不稱之爲成功事件。 – Kosmosniks 2011-05-12 14:55:23