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 のコメントに示されているアラートが表示されます。