所以基本上這是我做的:使得阿賈克斯要求MVC控制器 - 但.done函數從不執行
身體 - 的onload方法我把這個javascript函數
function TestN() {
var list = new Array();
var allElements = document.getElementsByTagName('*');
$("*[wordNum]").each(function()
{
var endRes = {
ControllerName: this.id,
WordNumber: this.getAttribute("wordNum")
};
list.push(endRes);
});
jQuery.ajax({
url:' @Url.Action("Translate")' ,
contentType: "application/json",
dataType: "json",
data: { List : JSON.stringify(list) }
,
traditional: true
})
}
它做什麼 - 它會搜索屬性爲「WrdNum」的所有控制項,然後向MVC Translate操作發出ajax請求!
在翻譯行動我讓到填充類型列表的Web服務請求 - TranslateModel
public ActionResult Translate(string List)
{
List<TranslateModel>listto = WebServiceBea.TranslateList(1, List);
return View(listto);
}
而且這是我TranslateModel
public class TranslateModel
{
public string ControllerName { get; set; }
public string WordNumber { get; set; }
public string Description { get; set; }
}
所以基本上我的問題是 - >我應該返回什麼類型的視圖 - >以及如何將此列表返回到必須使用此列表中的記錄設置某些html控件的innerHtml屬性的javascript或jquery函數。**
我現在很奇怪,但是這是我的任務
編輯
感謝這麼多的幫助。但現在我有另一個問題:
我改變了我的JavaScript後,把。 done方法,所以我可以從服務器獲取數據,它看起來是這樣的:
$(文件)。就緒(函數(){VAR 名單=新的Array();
$("*[wordNum]").each(function() {
var endRes = {
ControllerName: this.id,
WordNumber: this.getAttribute("wordNum")
};
list.push(endRes);
});
jQuery.ajax({
url: ' @Url.Action("Translate")',
contentType: "application/json",
dataType: "json",
data: { List: JSON.stringify(list) }
, 傳統:真正的,
}).done(function (result)
{
alert ("HII") ;
});
});
不管我把它從未執行中,.done功能好像控制器不知道從哪裏返回結果| I |不現在就可以的東西。發生在我提出這個請求的事實上在.layout頁面上 - 準備好文檔。 s
這種的*僅*從JavaScript調用?如果是這樣,最簡單的事情就是將列表返回爲json並用javascript解析它? – mituw16