ajax调用中的inernal错误服务器500? [英] inernal error server 500 in ajax call ?
问题描述
我通过方法调用我的动作.asmx
i called my action .asmx by method
ajaxCall: function (serverMethod, params, successHandler) {
var csrfToken = $("input[name='__RequestVerificationToken']").val();
//alert('csrfToken= ' + csrfToken);
$.ajax({
headers: { __RequestVerificationToken: csrfToken },
cache: false,
async: false,
type: "POST",
url: "Server/services/Actions.asmx/" + serverMethod + "?sid=" + app.sessionId,
data: params,
contentType: "application/json; charset=utf-8",
dataType: "json",
dataFilter: function (data) {
var msg;
if (typeof (JSON) !== 'undefined' && typeof (JSON.parse) === 'function')
msg = JSON.parse(data);
else
msg = eval('(' + data + ')');
if (msg.hasOwnProperty('d'))
return msg.d;
else
return msg;
},
success: function (response) {
if (!response) {
datacontext.log(response.statusText, response, this, 'error1');
}
successHandler(response);
var j = response;
//for (var i = 0; i < j.length; i++) {
// successHandler(j[i]);
//}
},
error: function (xhr) {
datacontext.log(xhr.statusText, xhr, this, 'error');
}
});
},
当我在vs2012中调试我的项目(单页面应用程序)时它运行良好
,即使我在我的本地iis在我的电脑上的网站
但当我在ismote服务器上的iis上我的网站时,我在调用ajaxcall方法时获得了内部服务器错误500
当我输入的网址时asmx(www.mysite.com/Server/services/Actions.asmx/GetNewsCount?sid=1)
i在浏览器上收到此回复
$ b
it works well when i debug my project (Single Page Application) in vs2012
,even when i puplish my site on local iis in my pc
but when i puplish my website on iis on aremote server i got internal server error 500 when call ajaxcall method
and when i typed url of asmx (www.mysite.com/Server/services/Actions.asmx/GetNewsCount?sid=1)
i got this response on the browser
System.NotSupportedException: The type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary.
at System.Xml.Serialization.TypeScope.GetDefaultIndexer(Type type, String memberInfo)
at System.Xml.Serialization.TypeScope.ImportTypeDesc(Type type, MemberInfo memberInfo, Boolean directReference)
at System.Xml.Serialization.TypeScope.GetTypeDesc(Type type, MemberInfo source, Boolean directReference, Boolean throwOnError)
at System.Xml.Serialization.ModelScope.GetTypeModel(Type type, Boolean directReference)
at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(Type type, XmlRootAttribute root, String defaultNamespace)
at System.Web.Services.Protocols.XmlReturn.GetInitializers(LogicalMethodInfo[] methodInfos)
at System.Web.Services.Protocols.XmlReturnWriter.GetInitializers(LogicalMethodInfo[] methodInfos)
at System.Web.Services.Protocols.MimeFormatter.GetInitializers(Type type, LogicalMethodInfo[] methodInfos)
at System.Web.Services.Protocols.HttpServerType..ctor(Type type)
at System.Web.Services.Protocols.HttpServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
请知道如何解决这个问题吗?
please any one know how to solve this ?
推荐答案
( input [name ='__ RequestVerificationToken'])。val();
// alert('csrfToken ='+ csrfToken);
("input[name='__RequestVerificationToken']").val(); //alert('csrfToken= ' + csrfToken);
.ajax({
headers:{__ RequestVerificationToken:csrfToken},
cache: false ,
async : false ,
类型: POST,
url: 服务器/ services / Actions.asmx / + serverMethod + ?sid = + app。 sessionId,
data: params ,
contentType: application / json; charset = utf-8,
dataType: JSON跨度>,
dataFilter:function(data){
var msg;
if ( typeof (JSON)!== ' undefined'&& typeof (JSON.parse) === ' function')
msg = JSON.parse(data);
else
msg = eval(' (' + data + ' )');
if (msg.hasOwnProperty(' d'))
return msg.d;
else
return msg;
},
成功:函数(响应){
if (!response){
datacontext .log(response.statusText,response, this ,' ERROR1' 跨度>);
}
successHandler(回复);
var j = response;
// for(var i = 0; i< j.length; i ++){
// successHandler(j [i]);
// }
},
错误:function(xhr){
datacontext .log(xhr.statusText,xhr,此,' 错误跨度>);
}
});
},
.ajax({ headers: { __RequestVerificationToken: csrfToken }, cache: false, async: false, type: "POST", url: "Server/services/Actions.asmx/" + serverMethod + "?sid=" + app.sessionId, data: params, contentType: "application/json; charset=utf-8", dataType: "json", dataFilter: function (data) { var msg; if (typeof (JSON) !== 'undefined' && typeof (JSON.parse) === 'function') msg = JSON.parse(data); else msg = eval('(' + data + ')'); if (msg.hasOwnProperty('d')) return msg.d; else return msg; }, success: function (response) { if (!response) { datacontext.log(response.statusText, response, this, 'error1'); } successHandler(response); var j = response; //for (var i = 0; i < j.length; i++) { // successHandler(j[i]); //} }, error: function (xhr) { datacontext.log(xhr.statusText, xhr, this, 'error'); } }); },
当我在vs2012中调试我的项目(单页面应用程序)时它运行良好
,即使我在我的本地iis在我的电脑上的网站
但当我在ismote服务器上的iis上我的网站时,我在调用ajaxcall方法时获得了内部服务器错误500
当我输入的网址时asmx(www.mysite.com/Server/services/Actions.asmx/GetNewsCount?sid=1)
i在浏览器上收到此回复
$ b
it works well when i debug my project (Single Page Application) in vs2012
,even when i puplish my site on local iis in my pc
but when i puplish my website on iis on aremote server i got internal server error 500 when call ajaxcall method
and when i typed url of asmx (www.mysite.com/Server/services/Actions.asmx/GetNewsCount?sid=1)
i got this response on the browser
System.NotSupportedException: The type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary.
at System.Xml.Serialization.TypeScope.GetDefaultIndexer(Type type, String memberInfo)
at System.Xml.Serialization.TypeScope.ImportTypeDesc(Type type, MemberInfo memberInfo, Boolean directReference)
at System.Xml.Serialization.TypeScope.GetTypeDesc(Type type, MemberInfo source, Boolean directReference, Boolean throwOnError)
at System.Xml.Serialization.ModelScope.GetTypeModel(Type type, Boolean directReference)
at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(Type type, XmlRootAttribute root, String defaultNamespace)
at System.Web.Services.Protocols.XmlReturn.GetInitializers(LogicalMethodInfo[] methodInfos)
at System.Web.Services.Protocols.XmlReturnWriter.GetInitializers(LogicalMethodInfo[] methodInfos)
at System.Web.Services.Protocols.MimeFormatter.GetInitializers(Type type, LogicalMethodInfo[] methodInfos)
at System.Web.Services.Protocols.HttpServerType..ctor(Type type)
at System.Web.Services.Protocols.HttpServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
请知道如何解决这个问题?
please any one know how to solve this ?
这篇关于ajax调用中的inernal错误服务器500?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!