【发布时间】:2015-05-12 18:28:06
【问题描述】:
我从 iFrame 调用它!我认为这将是主要问题。
我正在尝试使用 ajax 请求在 ASP 中调用 WebMethod。但我没有得到想要的回应。这是我的页面的代码。 我称之为
Ext.Ajax.request({url: 'Default.aspx/DispatchMethod'});
问题是我在响应中得到 html 而不是字符串“TEST”。知道为什么吗?
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static String DispatchMethod()
{
return "TEST";
}
}
使用 WebService(.asmx 扩展名)后,我得到了一个
This web service is using http://tempuri.org/ as its default namespace.
建议:在 XML Web 服务公开之前更改默认命名空间。
每个 XML Web 服务都需要一个唯一的名称空间,以便客户端应用程序将其与 Web 上的其他服务区分开来。 http://tempuri.org/ 可用于正在开发的 XML Web services,但已发布的 XML Web services 应使用更永久的命名空间。
您的 XML Web 服务应该由您控制的名称空间来标识。例如,您可以使用公司的 Internet 域名作为命名空间的一部分。尽管许多 XML Web 服务名称空间看起来像 URL,但它们不需要指向 Web 上的实际资源。 (XML Web 服务命名空间是 URI。)
对于使用 ASP.NET 创建的 XML Web services,可以使用 WebService 属性的 Namespace 属性更改默认命名空间。 WebService 属性是应用于包含 XML Web 服务方法的类的属性。下面是一个将命名空间设置为“http://microsoft.com/webservices/”的代码示例:
C#
【问题讨论】:
-
将 Content-Type 设置为适当的 MIME。见这里:stackoverflow.com/questions/17185814/…
标签: javascript c# asp.net ajax