gpt4 book ai didi

jquery - 使用 jquery ajax 从其他域发布 .net MVC 3 FromsCollection

转载 作者:行者123 更新时间:2023-12-01 08:17:26 24 4
gpt4 key购买 nike

好的,我对 .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并将它们存储在模型中,然后将该模型存储到数据库中。为了这个例子,我们假设我想存储一个具有以下属性的“人”:“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“Found”,但数据未保存。当编译到手机时,.error 处理程序会用“parseerror”踢 inn,但数据会被保存。知道为什么吗?

答案:

302“Found”出现是因为我返回了一个 View (感谢 3nigma)应该返回这个:

    return new HttpStatusCodeResult(200);

最佳答案

500是内部服务器错误

public ActionResult Save(FormCollection actionValues) {
int age = long.Parse(actionValues["age"]);// there error seems to be here you are boxing long into int
string fn = actionValues["first_name"];
string ln = actionValues["last_name"];
CreateAndStorePersonModel(age,fn,ln);
}

尝试一下

int age = Int32.Parse(actionValues["age"].ToString());
<小时/>

回复评论

您不需要包含任何内容,只需从 ActionResult 返回 Json 即可,例如

[HttpPost]
public ActionResult Save(FormCollection actionValues) {
//your code here
return Json(new {IsSuccess="success" });
}

并且在 ajax 成功处理程序中,您可以像

一样访问它
 $.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(data) {
alert("Success: "+data.IsSuccess}, //will alert Success: success
}).error(function(data, errorTxt, jqXHR) {
alert('Error: '+errorTxt);
});;

关于jquery - 使用 jquery ajax 从其他域发布 .net MVC 3 FromsCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9617717/

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