Javascript 失败500内部服务器错误
我在发出AJAX请求时遇到内部服务器错误(500)。我不知道为什么请求失败了。在这方面需要帮助。这是我的密码Javascript 失败500内部服务器错误,javascript,asp.net-mvc,asp.net-ajax,Javascript,Asp.net Mvc,Asp.net Ajax,我在发出AJAX请求时遇到内部服务器错误(500)。我不知道为什么请求失败了。在这方面需要帮助。这是我的密码 $('#LanguageId').on('change', function(){ var setValue =JSON.stringify( $('#LanguageId').val()); console.log(typeof(setValue)); $.ajax({ url: '/RootObjects/SaveLanguage',
$('#LanguageId').on('change', function(){
var setValue =JSON.stringify( $('#LanguageId').val());
console.log(typeof(setValue));
$.ajax({
url: '/RootObjects/SaveLanguage',
type: 'POST',
dataType: 'json',
data:setValue ,
contentType: 'application/json; charset=utf-8',
success: function (data) {
}
});
})
以及控制器的动作
[HttpPost]
public ActionResult SaveLanguage(string LanguageId)
{
GlobalVariables.LangId = LanguageId.ToString();
return View("Index");
}
无法理解问题出在哪里按如下方式更改ajax请求:-
$('#LanguageId').on('change', function(){
var setValue =$('#LanguageId').val();
console.log(typeof(setValue));
$.ajax({
url: '/RootObjects/SaveLanguage',
type: 'POST',
dataType: 'json',
data:{'LanguageId':setValue} ,
success: function (data) {
}
});
})
您的方法返回html(视图),而不是json,因此它需要是
dataType:'json',
,并且需要是data:json.stringify({LanguageId:setValue})
或者更好的方法是data:{LanguageId:setValue}
并删除contentType
选项谢谢,,,,我会按照您的说法进行更改,但是仍然是同一个错误,500错误到底说了什么?现在,当我像你说的那样更改时,它说找不到资源,在这之前失败了,出现了500错误,但在控制台上单击它时打开了操作链接。log(setValue)我得到了setValue的值,但在那之后得到了500个内部服务器错误