繁体   English   中英

无法进行Ajax调用-ASP.Net

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM