C# 从远程HTML页面调用*.aspx函数
您好,我是web应用程序开发新手。我创建了一个*aspx页面,它通过一个返回字符串的方法调用webservice。现在我想使用任何脚本语言从远程HTML5页面调用这个aspx方法,并在远程HTML页面上显示数据。 谁能告诉我如何调用aspx方法并在HTML5页面上显示is内容 下面是我正在使用的代码 Default.aspx.cs文件C# 从远程HTML页面调用*.aspx函数,c#,javascript,jquery,asp.net,html,C#,Javascript,Jquery,Asp.net,Html,您好,我是web应用程序开发新手。我创建了一个*aspx页面,它通过一个返回字符串的方法调用webservice。现在我想使用任何脚本语言从远程HTML5页面调用这个aspx方法,并在远程HTML页面上显示数据。 谁能告诉我如何调用aspx方法并在HTML5页面上显示is内容 下面是我正在使用的代码 Default.aspx.cs文件 using System; using System.Configuration; using System.Data; using
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using HotelTabWebServiceWebReference;
using System.Web.Services;
public partial class _Default : System.Web.UI.Page
{
[System.Web.Services.WebMethod(true)]
protected static string getHotelMenuList()
{
HotelTabWebServiceWebReference.HotelAppForTabWebService proxy = new HotelTabWebServiceWebReference.HotelAppForTabWebService();
string menuList = null;
try
{
menuList = proxy.getMenuType();
}
catch (FormatException)
{
Console.Write("error");
}
return menuList;
}
}
当我使用default.aspx运行这个default.aspx.cs页面时,它会显示工作正常
但是当我从外部HTML5调用它时,它什么都不做
HTML 5代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Page</title>
<script type="text/javascript" src="jquery-1.10.2.js"></script>
<script type="text/javascript" src="newJS.js"></script>
</head>
<body onload="sendSOAPRequest()">
<div id="myDiv">data returned by aspx function should appear here</div>
</body>
</html>
当执行HLML 5文件时,它执行endFunction,但不进入success函数
请让我知道怎么做。
提前感谢。在aspx源代码中,您必须有一个脚本管理器来启用web方法,您必须将其放入表单中。
我使用下一个jquery函数对其进行测试
$(document).ready(function() {
$.ajax({
type: 'POST',
url: 'Default.aspx/getHotelMenuList',
data: '{ }',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
alert(msg.d);
}
});
});
您是否尝试过这样设置:
contentType:'text/xml;charset=utf-8'
您可以从向ajax调用添加错误事件开始,并查看错误详细信息there@RonnoDex:当我显示任何内容时,默认值n.aspx页面内容显示在页面上,但我需要根据客户端的要求在HTML 5页面上显示内容,正如我所说的添加错误:函数(jqXHR,textStatus,errorhorn){alert(errorhorn);}
感谢您的ajax呼叫!现在它返回远程HTML上的数据,但我现在面临的问题是它返回未定义的数据!您能告诉我问题出在哪里以及可以做什么吗?我对这一点完全陌生,请提供任何帮助!首先返回一个简单的字符串内容作为“Hello Test”或者类似的,这是我做的测试。另一个问题可能是响应类型,如果字符串是xml或html,则必须在ajax调用的内容类型中指定,因此对于xml,它必须是contentType:'text/xml;charset=utf-8',对于html contentType:'text/html;charset=utf-8'
$(document).ready(function() {
$.ajax({
type: 'POST',
url: 'Default.aspx/getHotelMenuList',
data: '{ }',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
alert(msg.d);
}
});
});