我试图通过asmx web服务从服务器获取一些数据。 如果我直接从浏览器调用服务,我可以获取json数据并且它是有效的(从jsonlint检查)但是如果我使用ajax post方法从我的应用程序调用,那么它会给出解析错误。
SyntaxError: Unexpected end of input
at Object.parse (native)
at n.parseJSON (http://172.17.0.xxx/ptm//plugins/jQuery/jQuery-2.1.4.min.js:4:5497)
at ub (http://172.17.0.xxx/ptm//plugins/jQuery/jQuery-2.1.4.min.js:4:7521)
at x (http://172.17.0.xxx/ptm//plugins/jQuery/jQuery-2.1.4.min.js:4:10935)
at XMLHttpRequest.<anonymous> (http://172.17.0.xxx/ptm//plugins/jQuery/jQuery-2.1.4.min.js:4:14765)
我有很多功能来获取数据并且所有这些功能都在使用这个功能,这个功能一直运行到昨天。 此外,如果我在localhost上运行Web服务,我可以通过localhost的ajax调用从Web服务获取数据。 我已经检查过很多关于此错误的文章和问题,并尝试更改标题,但它并没有解决我的问题。
获取数据的方法
$.ajax({
type: "POST",
url: "http://172.17.0.xxx/SmartMobileWS/SmartMobileWS.asmx/GetEfficiencyFromConsolidate",
data: { startDate: GetFormattedDate(new Date(dt1)), endDate: GetFormattedDate(new Date(dt2)) },
dataType: "json",
success: function (data) {
网络服务
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetEfficiencyFromConsolidate(DateTime startDate, DateTime endDate)
string jsoNresult = DataTableToJsonObj(CheckDatatableForJson(dtResult));
HttpContext.Current.Response.Write(jsoNresult);
}
将Web服务发布到另一台服务器后,问题解决了。我真的不知道这个问题的原因是什么。 IIS站点或应用程序池上是否有任何设置?