在asp.net中创建新的Asmx页面

时间:2013-02-05 06:33:11

标签: asp.net web-services

我正在创建一个asmx Web服务。 在visual studio 2012中,项目名称我右键单击并添加了一个Web服务名称 UserDetails.asmx

现在我正在尝试在js文件中使用Web服务。像这样

$.ajax({
    type: "POST",
    url: "UserDetails.asmx/HelloWorld",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
       alert('success');
    },
    error: function () {
        alert("Error");
    }
});

显示错误 POST http://192.168.9.185/GPS/UserDetails.asmx/HelloWorld 500(内部服务器错误)

我的代码中是否有任何错误,或者我遗漏了某些内容以致显示错误。 我的Asmx页面

<%@ WebService Language="C#" CodeBehind="~/App_Code/UserDetails.cs" Class="UserDetails" %>

我的代码背后

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// Summary description for UserDetails
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 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 UserDetails : System.Web.Services.WebService {

public UserDetails () {

    //Uncomment the following line if using designed components 
    //InitializeComponent(); 
}

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

}

1 个答案:

答案 0 :(得分:0)

修改

简答:只需取消注释[System.Web.Script.Services.ScriptService]

使用

深入挖掘错误消息
error: function (xhr,status, error) {
        alert("Error");
       }

并且检查xhr显示实际错误是其他错误(只能从脚本中调用类定义上具有[ScriptService]属性的Web服务)。

我在后面的aspx代码中使用[WebMethod],每当收到这样的消息时,我发现我传递的数据有错误。因此,请尝试在$ .ajax()

中添加data:"{}",

this

中所述
  

进行只读请求时,空数据参数是关键。由于未知原因,当没有包含数据时,jQuery没有正确设置指定的内容类型。