HTML jquery用ajax post请求C# 服务器端WebService方法,post参数过长,不报错以不成功,长时间无响应
前端代码
$.ajax({
url:urls,
dataType: 'json',
// timeout :10000, //超时时间设置,单位毫秒
type: 'post',
data: {json:jsonsa,bs:bs},
beforeSend: function (x) {
x.setRequestHeader("Content-Type", "application/json; charset=utf-8");
},
success: function (json) {
var jsons = json.toString();
alert(jsons);
},
error: function (XmlHttpRequest,textStatus,errorThrown) {
//没有进入服务
alert("保存失败;"+errorThrown);
},
complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
// if(status=='timeout'){
// ajaxTimeoutTest.abort();//取消请求
// alert("请求超时;"+XMLHttpRequest.status);
//
// }
alert("请求超时;"+XMLHttpRequest.status);
}
});
服务器端代码:
[WebMethod]
public void JSBAS64(string json, string bs)
{
string Reustr = json; //返回数据
string callback = HttpContext.Current.Request["wtget"];//调用方法的参数名-致
JavaScriptSerializer jss = new JavaScriptSerializer();
string jsonObjStr = jss.Serialize(Reustr);
HttpContext.Current.Response.Write(callback + "(" + jsonObjStr + ")");
HttpContext.Current.Response.End();
}
Web.config 部分配置
<system.web>
<compilation debug="true" targetFramework="4.0" />
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" uiCulture="zh-CN"/>
<httpRuntime maxRequestLength="1073741824" maxQueryStringLength="1073741824" executionTimeout="3600" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<!--修改服务器允许最大长度-->
<requestLimits maxAllowedContentLength="1073741824"/>
</requestFiltering>
</security>
<webServices>
<!--JSON串的长度设置-->
<jsonSerialization maxJsonLength="102400000" />
</webServices>