我的公司要求提供一个Web服务,并且我必须使用ASP.NET来开发它,但我对此了解不多,而且我不太喜欢。问题是,我已经开发了大部分服务(前端),现在我已经准备好从服务器提取数据,但我似乎无法使用 AJAX 来做到这一点。我已经尝试了数十种组合/类别/巫术,但什么也没有。现在,JavaScript 请求片段如下所示:
var request = null;
request = new XMLHttpRequest();
if (request != null) {
request.onreadystatechange = state_Change;
request.open("post", "Scripts/CSharp.aspx/GetTime?=true", true);
request.setRequestHeader("Content-Type", "application/json");
request.send();
}
else { alert("Error on request"); }
function state_Change() {
if (request.readyState == 4) {
if (request.status == 200) {
alert(request.responseText);
}
else { alert("Error on XML"); }
}
}
CSharp.aspx.cs 是这样的:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
if (Request.QueryString["GetTime"] == "true")
{
Response.Clear();
Response.Write(DateTime.Now.ToShortTimeString());
Response.End();
}
}
}
我使用了很多其他东西,例如:
namespace ReportWebPortal
{
public class WebService1 : System.Web.UI.Page
{
[WebMethod]
public static string HelloWorld()
{
return "Hello World";
}
}
和
namespace ReportWebPortal
{
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public static string HelloWorld()
{
return "Hello World";
}
}
还有一些其他的。我现在正处于绝望的顶峰,因为我完全不知道该怎么办。我见过大量解释 ASP.NET AJAX 的页面,但毫无效果。
顺便说一句,目前它只是一个带有一些菜单的页面,主要使用 Javascript,很少使用 ASP.NET 功能。
编辑:忘记错误输出
它只是说找不到该文件 找不到 Scripts/CSharp.aspx
最佳答案
更改:
request.open("post", "Scripts/CSharp.aspx/GetTime?=true", true);
至
request.open("post", "Scripts/CSharp.aspx?GetTime=true", true);
此外,在尝试 AJAX 之前,请浏览到此网址以仔细检查其是否有效
关于c# - ASP.NET AJAX,页面不断找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20681872/