[英]Unable to make Ajax Call - ASP.Net
使用jQuery 1.11.0。
当我拨打Ajax时,错误是
POST http:// localhost:9909 / Admin / ReportsService.asmx?GetQuestionSets 500(内部服务器错误)
但是我能够浏览URL并运行该方法而没有任何问题。
reports.js:
function getQuestionSets() {
$.ajax({
type: "POST",
url: "/Admin/ReportsService.asmx?GetQuestionSets",
data: "{ 'startDate': '" + $(".txtFromDate").val() + "', 'endDate': '" + $(".txtToDate").val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
console.log(msg.d);
},
Error: function (x, e) {
// On Error
}
});
}
ReportsService.asmx:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class ReportsService : WebService
{
[WebMethod]
public void GetQuestionSets(string startDate, string endDate)
{
//code to get data.
}
}
web.config:
<webServices>
<protocols>
<add name="HttpGet" />
<add name="HttpPost" />
</protocols>
</webServices>
</system.web>
方法GetQuestionSets
的断点永远不会命中。 我在这里想念什么。
问题似乎出在调用方法的url
,就好像传递了querystring一样 。
更改:
url: "/Admin/ReportsService.asmx?GetQuestionSets"
至:
url: "/Admin/ReportsService.asmx/GetQuestionSets"
请检查发布到端点的数据的格式是否正确。 您提到:“我能够浏览URL并运行该方法而没有任何问题” –是将实际数据记录到浏览器控制台中,还是手动添加日期? 查看实际记录的数据(或者通过Fiddler进行呼叫所看到的内容)是否引起问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.