嗨我目前正在尝试使用AJAX发布一个控制器的表单但是到目前为止我没有运气,我一直试图让表单将表单中的值提交给控制器提交表单但是,任何人都知道为什么不行? :
CSHTML:
@H_403_8@@{ Layout = null; } Meta name="viewport" content="width=device-width" />Box">
控制器:
@H_403_8@ [HttpPost] public string GetSearchDetails(string companyName,string specialities,string category,string location) { return liveSearchRepository.GetUserInputResults(companyName,specialities,category,location); }
最佳答案
从我可以看到它看起来像您的表单控件和您的Controller操作没有正确链接,因为您的控件的名称与您的操作的参数不同.
原文链接:https://www.f2er.com/jquery/427760.html还要将ajax调用中的contentType更改为JSON,并将表单数据转换为JSON字符串.这样,如果您在通过Ajax提交表单数据之前将其输出到控制台,您可以看到发送的内容.
请尝试以下修改:
@H_403_8@@{ Layout = null; } Meta name="viewport" content="width=device-width" />Box">
编辑
如果更改以下行:
@H_403_8@var formData = JSON.stringify($("#searchform").serializeArray());
有了这段代码:
@H_403_8@var formData = ""; $.each($("#searchform"),function(i,v) { if (formData.length > 0) formData += ","; formData += v.name + ": '" + v.value + "'"; }); formData = "{ " + formData + " }";