好的,我对 .NET MVC3 完全陌生,但遇到了问题。
我正在使用 Jquery mobile 开发一个移动应用程序,我希望将数据从移动应用程序发送到网页。在服务器上我有这个:
[HttpPost]
[ValidateInput(true)]
public ActionResult Save(FormCollection actionValues) {
int age = Int32.Parse(actionValues["age"]);
string fn = actionValues["first_name"];
string ln = actionValues["last_name"];
CreateAndStorePersonModel(age,fn,ln); // Dummy method, not important
return new HttpStatusCodeResult(200); // Thanks to 3nigma for this
}
我想要的是能够获取 actionValues 并将它们存储在模型中,然后将此模型存储到数据库中。为了这个例子,我们假设我想存储一个带有属性的“Person”:“first_name,last_name,age”。我也可能在未来扩展这个模型。
从移动应用程序我运行以下代码:
$.ajax({
type: "POST",
url: "http://external.url/Save",
dataType: "json",
traditional: true, // default serialization (do I even need this?)
data: {
"age": data_age,
"first_name": data_fn,
"last_name": data_ln,
},
success: function(d) { alert("Success: "+d},
}).error(function(data, errorTxt, jqXHR) {
alert('Error: '+errorTxt);
});;
我收到了 500 内部错误,但多亏了 3nigma,情况不再如此。
编辑:
从我的网络服务器进行测试时,我在检查检查器时得到一个 http 302“找到”,但数据没有得到保存。编译到手机时,.error 处理程序会使用“parseerror”启动 inn,但数据会被保存。知道为什么吗?
回答:
302“找到”来了,因为我返回了一个视图(感谢 3nigma)应该返回这个:
return new HttpStatusCodeResult(200);