asp.net mvc json打开对话框问题
{asp.net mvc json打开对话框问题,asp.net,javascript,ajax,json,Asp.net,Javascript,Ajax,Json,{ $.ajax({ 类型:“POST”, 数据:$(“#myForm”).serialize(), 数据类型:“json”, url:“”, 成功:功能(结果) { window.alert(result.name); }, 错误:函数() { window.alert('error'); } }); } Html.BeginForm(“JSONRequest”,“Home”,FormMethod.Post,new{id=“myForm”}
$.ajax({
类型:“POST”,
数据:$(“#myForm”).serialize(),
数据类型:“json”,
url:“”,
成功:功能(结果)
{
window.alert(result.name);
},
错误:函数()
{
window.alert('error');
}
});
}
Html.BeginForm(“JSONRequest”,“Home”,FormMethod.Post,new{id=“myForm”});
Html.TextBox(“mazhar”)
Html.EndForm();
public ActionResult JSONRequest(FormCollection表单)
{
字符串a=形式[“mazhar”];
var data=new{name=“aaaa”,Success=“记录成功保存”,ErrorMessages=“abc”};
返回Json(数据);
}
好的,问题是在运行请求保存文件的代码后,对话框正在打开。
有人能告诉我如何解决这个问题吗?为什么这个盒子会来?我想你把表格贴了两次。您应该使用Ajax.BeginForm而不是普通表单。并删除jqueryajax调用 下面是一个使用Ajax表单的非常好的示例 或者您也可以尝试替换
Html.BeginForm("JSONRequest", "Home", FormMethod.Post, new { id = "myForm" });
Html.TextBox("mazhar")
<input type="submit" onclick="postForm" />
Html.EndForm();
public ActionResult JSONRequest(FormCollection form)
{
string a = form["mazhar"];
var data = new { name = "aaaa", Success = "Record is Succesfully Saved", ErrorMessages = "abc" };
return Json(data);
}
与
您需要通过在按钮
onclick
处理程序中返回false
来取消默认表单提交:
<input type="button" onclick="postForm" />
这样,您就不再需要指定url、方法、手动序列化表单字段等。。。您也不需要用javascript函数污染HTML标记。这是不引人注目的javascript。这种方法的另一个优点是,现在您可以将此javascript外部化到一个单独的static.js文件中,因为它不再依赖服务器端代码(
),这将从减少带宽和缓存静态资源中获益
Html.BeginForm("JSONRequest", "Home", FormMethod.Post, new { id = "myForm" });
Html.TextBox("mazhar")
<input type="submit" onclick="postForm" />
Html.EndForm();
public ActionResult JSONRequest(FormCollection form)
{
string a = form["mazhar"];
var data = new { name = "aaaa", Success = "Record is Succesfully Saved", ErrorMessages = "abc" };
return Json(data);
}
<input type="submit" onclick="postForm" />
<input type="button" onclick="postForm" />
<input type="submit" onclick="postForm(); return false;" />
Html.BeginForm("JSONRequest", "Home", FormMethod.Post, new { id = "myForm" });
Html.TextBox("mazhar")
<input type="submit" value="OK" />
Html.EndForm();
$(function() {
$('#myForm').ajaxForm({
success: function(result) {
window.alert(result.name);
},
error : function() {
window.alert('error');
}
});
});