我被要求在我的公司提供网络服务,我有义务使用ASP.NET来开发它,我不太了解,我也不喜欢。问题是,我开发了大部分服务(前端),现在我已准备好从服务器提取数据,但我似乎无法使用AJAX。我已经尝试了几十种组合/类/ voodoos,什么都没有。现在,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的页面无济于事。
BTW,目前它只是一个页面,其中一些菜单主要使用Javascript,只使用很少的ASP.NET功能。编辑:忘记错误输出
它只是说找不到该文件 未找到Scripts / CSharp.aspx
答案 0 :(得分:0)
更改:
request.open("post", "Scripts/CSharp.aspx/GetTime?=true", true);
到
request.open("post", "Scripts/CSharp.aspx?GetTime=true", true);
此外,浏览此网址以在尝试AJAX之前仔细检查它是否有效