为什么要对同一页面发出 GET 请求
本文关键字:GET 请求 一页 为什么 | 更新日期: 2023-09-27 18:33:31
我有一个表单
<form id="registration-form">
<fieldset class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="pname" id="name" placeholder="Enter Partner Name Here">
</fieldset>
<fieldset class="form-group">
<label for="email">Email Address</label>
<input type="text" class="form-control" name="eaddr" id="email" placeholder="Enter Email Address Here">
</fieldset>
<button class="btn btn-primary" type="submit">Take Survey</button>
<p><span class="errmsg" id="reg-error"></span></p>
</form>
我的目的是提交它会调用 AJAX 调用
$('#registration-form').submit(function(ev){
ev.preventDefault();
$.ajax({
url : '/Account/AddPartner',
method : 'POST',
data : {
pname: $('input[name="pname"]').val(),
eaddr: $('input[name="eaddr"').val()
},
// ...
});
如果成功,则会将它们重定向到新页面,如果不成功,则会返回显示的错误消息。处理此问题的控制器是
[HttpPost]
public ActionResult AddPartner ( string pname, string eaddr )
{
Guid? newpid = this._Db.AddPartner(pname, eaddr);
if ( newpid != null )
{
return RedirectToAction("FillOut", "Answers", new { pid = newpid }); // should redirect to /Answers/FillOut?pid=newpid
}
else
{
return Json(new { msg = "Failed get id of partner"} );
}
}
由于某种奇怪的原因,正在发生的事情是,当提交表单时,GET问题正在向表单所在的同一页面提出,例如
/Account/Register?pname=klaskdljaskldjas&eaddr=akdalkkldjkl%40hotmail.com
这是怎么回事?
重定向到操作从 ajax 请求不起作用,您必须在成功调用 ajax 后从客户端重定向。
另外,您丢失了一对"})"在你的JavaScript中