【发布时间】:2021-06-22 00:10:47
【问题描述】:
我有这个来自客户端的简单 ajax 调用: 这是在 TestPage.aspx 中
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Web.Services" %>
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Piece Of Cake </title>
<link rel="stylesheet" type="text/css" href="../css/navigation.css">
<link rel="stylesheet" type="text/css" href="../css/form.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
<script type="text/javascript" src="../javascript/validateForm.js"></script>
<script type="text/javascript" src="../javascript/effects.js"></script>
<script>
$(document).ready(function () {
$.ajax({
type: "POST",
url: "TestPage/GetName/",
contentType: "application/json; charset=utf-8;",
dataType: "json",
success: function (response) {
alert("success")
},
failure: function (response) {
alert("failure")
},
error: ErrorOccur
});
});
function ErrorOccur(data, status, req) {
alert("error:"+req.responseText + " " + status);
}
</script>
</head>
现在在我拥有的 TestPage.aspx.cs 文件中:
namespace Foo.html
{
public partial class TestPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var t = 0;
}
[WebMethod]
public static string GetName()
{
var chk = new check
{
subject = "hello! ",
description = "13 Years Old"
};
return JsonConvert.SerializeObject(chk);
}
public class check
{
public string subject { get; set; }
public string description { get; set; }
}
}
}
我可以在应用程序中调试cs文件,如“RouteConfig.cs”。
但看起来我在调试 Web 表单部分时遇到了问题。
当我在 GetName 和 Page_Load 方法中设置断点后尝试调试应用程序时,调试器永远不会到达它们。应用程序正在运行,但我不断收到 ajax 错误消息:
error:undefined parsererror
我使用 IIS express(VS 自带)
所有调试都在 web.config 中设置:
<compilation debug="true" targetFramework="4.7.2" />
为什么我无法调试应用程序?
为什么它永远不会到达 GetName 方法?
更新
我更改了 javascript 错误回调,现在我收到错误:
unknown web method GetName
【问题讨论】:
-
此页面是否使用母版页?即有一个
MasterPageFile属性? -
别这么认为,我在标题中看到的只是:
标签: asp.net visual-studio iis-express