C# 需要的建议:MVC4和jQueryAjax
需要一些建议-使用MVC4进行项目-用于表单和Ajax 通常我做AJAX调用 我的代码如下所示:C# 需要的建议:MVC4和jQueryAjax,c#,asp.net-mvc,jquery,C#,Asp.net Mvc,Jquery,需要一些建议-使用MVC4进行项目-用于表单和Ajax 通常我做AJAX调用 我的代码如下所示: $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "@SiteConfig.BaseUrl/assessment/getquestion", data: "{'Assess
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "@SiteConfig.BaseUrl/assessment/getquestion",
data: "{'AssessmentId':" + "'" + AssessmentId + "'" + ",'PageNumber':" + PageIndex + "}",
dataType: "json",
beforeSend: function(){
$('#ajaxLoader').show();
$('#questionContainer').hide();
},
success: function (msg) {
var data = msg.d;
},
complete: function(){
$('#ajaxLoader').hide();
$('#questionContainer').show();
},
error:function (request, status, error){
alert(request.responseText);
alert(request);
$('#ajaxLoader').hide();
//window.location = '@SiteConfig.BaseUrl/questionnaire';
}
});
[HttpPost]
public JsonResult GetQuestion(Guid AssessmentId, Int32 PageNumber)
{
... my code
return this.Json(assessmentInfo, JsonRequestBehavior.AllowGet);
}
我不断得到返回的HTML而不是JSON-它基本上只是将整个页面的HTML发送回方法中-我做错了什么
调试该问题会从javascript中产生以下结果:
Javascript:SyntaxError:JSON.parse:enexpected字符
此外,如果我向C#GetQuestion方法添加断点,它不会被命中
这可能是URL路由问题吗
另外,对于那些评论命名约定的人来说:这个方法的目的是为了得到一个问题。命名约定应该首先遵循业务逻辑,然后是技术约定。调用方法postquestion意味着我发布了一个毫无意义的问题。您应该像这样编辑GetQuestion方法:
[HttpPost]
public JsonResult GetQuestion(Guid AssessmentId, Int32 PageNumber)
{
//my code
return this.Json(myClass,JsonRequestBehavior.AllowGet);
}
另外,请正确使用命名约定,如果您得到了一些东西,请调用get方法。如果您发布了一些内容,请调用方法post。好的,我发现了问题
确实是一个路由问题导致了这个问题。GetQuestion是POST方法吗?不过,如果你得到了一个问题,请调用它get并使用get检索它。您正在使用POST获取消息,这没有意义。请共享您的解决方案。