これはMVC3アプリです。アクションに対して次のjavascript呼び出しがあります。
function editDescription(docId,fileName, fileDescription) {
$.ajax({
type: "POST",
url: "/OrderDetail/LoadModelData",
contentType: "application/json; charset=utf-8",
data: "{'id': '"+docId +"', 'filename': '"+fileName+"', 'description': '"+fileDescription+"'}",
dataType: "json",
success: function (result) {
alert("ok: "+ result.d);
},
error: function (result) {
alert('Oh no: '+ result.responseText);
}
});
これが私の行動です:
[HttpPost]
public string LoadModelData(string id, string filename, string description)
{
return filename;
}
コードを実行すると、アクションはパラメーターを使用して呼び出され、nullは何もありませんが、エラー関数は毎回呼び出されます。したがって、「Oh no」が含まれるアラートボックスは毎回表示されますが、アクションから返される文字列は正しいです。ファイル名がtest.pdfの場合、エラーアラートボックスに次のように表示されます
'Oh No: test.pdf'.
Firebugを調べましたが、エラーはありません。エラーがないにもかかわらず、成功関数が呼び出されないのはなぜですか?