gpt4 book ai didi

c# - JQuery.Ajax 和 MVC4

转载 作者:太空狗 更新时间:2023-10-29 21:05:29 26 4
gpt4 key购买 nike

我需要在我的 Controller 上调用一个方法来使用 JQuery.Ajax 方法返回一个复杂类型。

 function CallMethodTest(Id) {
//alert(Id);
$.ajax({
type: 'POST',
url: '/MyController/MyMethod',
dataType: "json",
contentType: "application/json; charset=utf-8",
//data: "{'Id': '" + Id + "'}",
success: function (data) {
alert(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}

[System.Web.Services.WebMethod]
public string MyMethod()
{
return "ABC"; // Gives me the error on the first alert of "200" and the second alert "Syntax Error: Invalid Character"
return "1"; // Works fine
}

正如代码所解释的那样,如果我返回一个整数(作为字符串),则返回有效并且我会警告“1”,但是,如果我尝试返回任何字母字符,我会收到 MyMethod 注释中显示的警告。

最佳答案

从您的代码来看,您似乎正在从 Controller 返回值 url: "/MyController/MyMethod"

如果您要从 Controller 返回值,则去掉 [System.Web.Services.WebMethod] 代码并将其替换为此 ActionResult

[HttpPost]
public ActionResult MyMethod(){
return Json("ABC");
}

此外,如果您打算通过 GET 调用 Controller 中的方法,则使用

public ActionResult MyMethod(){
return Json("ABC", JsonRequestBehavior.AllowGet);
}

关于c# - JQuery.Ajax 和 MVC4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12421922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com