【问题标题】:Calling webservice asmx from ajax returns 404 error从 ajax 调用 webservice asmx 返回 404 错误
【发布时间】:2022-01-10 01:24:51
【问题描述】:

我有一个 .asmx 文件,我从 webforms 页面上的 jquery ajax 调用调用该文件。返回的响应是 404 错误。我不确定自己做错了什么,因为我已经尝试了所有找到的示例,但没有任何效果。

AJAX:

function clearTemp(_websiteID) {
        $.ajax({
            type: "POST",
            url: "ScheduleImportWebService.asmx/HelloWorld",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify({ websiteID: _websiteID }),                
            dataType: "json",
            success: function (response) {
                alert(response.d);                   
            },
            failure: function (response) {
                alert("Failure: Could not clear temp table: " + response.d);
            },
            error: function (response) {
                alert("Error: Could not clear temp table: " + response.d);
            }
        });
    }

ASMX Snippet:(我已经尝试将 [System.Web.Script.Services.ScriptService] 注释掉,但仍然得到相同的响应)

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class ScheduleImportWebService : System.Web.Services.WebService
{

    [WebMethod]
    public string HelloWorld(string websiteID)
    {
        return "Hello World";
    }
}

【问题讨论】:

    标签: jquery .net ajax web-services http-status-code-404


    【解决方案1】:

    错误是因为您忘记在 ajax 调用的 URL 中设置主机。

    试试这样的:

    http://localhost/ScheduleImportWebService.asmx/HelloWorld
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 2017-11-03
      • 2016-05-26
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多