当我尝试从属于 myproject.account.members 命名空间
的网页调用网络服务时属于 myproject.services 的网络服务我收到错误
/// ----- modified:添加了错误消息----- ///
---------------------------
Message from webpage
---------------------------
responseText=
textStatus=error
errorThrown=Unknown
---------------------------
OK
---------------------------
例如
来自 somepage.aspx 的jquery ajax调用属于 myproject.account.members
$.ajax({
type: "POST",
url: '<%=ResolveUrl("~/Services/productService.asmx/getSomething") %>',
data: '',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result){
alert(result.d)
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert("responseText=" + XMLHttpRequest.responseText + "\ntextStatus=" + textStatus + "\nerrorThrown=" + errorThrown);
}
});
网络服务代码属于 myproject.Services
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace myproject.Services
{
/// <summary>
/// Summary description for productService
/// </summary>
[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 productService : System.Web.Services.WebService
{
[WebMethod]
public String getSomething()
{
return "Hello World";
}
}
}
基本上,如果我将我的webservice的命名空间从 myproject.Services 更改为 myproject.account.member ,如果我从属于myproject.account的页面调用它,它就可以工作.members namespace ...但是如果将命名空间设置为myproject.Services
,它将无法工作请帮助..我该如何解决这个问题?如果我想从我的项目中的几个不同的命名空间调用相同的服务怎么办?在这里输入代码
答案 0 :(得分:0)
当您更改Web服务类后面的代码的命名空间时,不要忘记在标记中更改它(productService.asmx
):
<%@ WebService
Language="C#"
CodeBehind="productService.asmx.cs"
Class="myproject.Services.productService" %>
同时替换:
data: ''
使用:
data: '{}'
要获得比您在问题中发布的更有意义的错误消息,请使用FireBug或Chrome Developer工具,以查看发送的确切AJAX请求。您将看到来自服务器的请求和响应。它将帮助您更好地了解代码的错误。