Imは、単純なjQueryのAjaxのコールバックをしようとして働いていないMVC AJAX QUERYコールバックは
$(document).ready(function() {
$('#btnClient').click(function (e) {
e.preventDefault();
var txtClient1 = $('#txtClient').val();
$.ajax({
type: "POST",
url: '/VistasController/AROrders',
contentType: "application/json; charset=utf-8",
data: { txtClient: txtClient1},
dataType: "json",
success: successFunc,
error: errorFunc
});
function successFunc(data) {
alert("Sucess");
}
function errorFunc(result) {
alert("Error" + result.responseText);
}
});
});
これは、背後にある私のASP.net C#のコードです:
[HttpPost]
public ActionResult AROrders(string txtClient)
{
DataTable dtClients = clientData(txtClient);
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in dtClientes.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dtClients.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
string ResultadoJSON = serializer.Serialize(rows);
return this.Content(ResultadoJSON, "application/json");
}
通常のポストバックを実行すると動作しますが、Jqueryで「リソースが見つかりません」というエラーが表示されます
I ha veはglobal.asaxでルートを設定しようとしました
routes.MapRoute(
"",
"{controller}/{action}/{id}",
new { controller = "Vistas", action = "AROrders", txtClient = UrlParameter.Optional }
);
また、URLを変更せずに試してみました。
Jqueryに問題はありますか?
はいつも 'Url.Action()'メソッドを使用しますあなたのURLは正しく生成されています - 'url: '@ Url.Action(" AROrders "、" Vistas ")'、'。また、あなたは 'contentType:" application/json; charset = utf-8 "、" –