C# asp.net中的jquery get方法为我提供了整个html页面
我编写了一个jQuery“get”方法,以便从(同一asp页面的)c#代码后面获得响应 问题是我得到了整个页面的HTML代码。而不是只获取响应值。 以下是jQuery代码:C# asp.net中的jquery get方法为我提供了整个html页面,c#,jquery,asp.net,C#,Jquery,Asp.net,我编写了一个jQuery“get”方法,以便从(同一asp页面的)c#代码后面获得响应 问题是我得到了整个页面的HTML代码。而不是只获取响应值。 以下是jQuery代码: <script> $(document).ready(function() { $.post("AddNewBankHtml.aspx", function(data, status) { alert("Data: " + data
<script>
$(document).ready(function() {
$.post("AddNewBankHtml.aspx",
function(data, status) {
alert("Data: " + data + "\nStatus: " + status);
})
})
</script>
我在谷歌上搜索了很多次,但没有找到对我有帮助的东西。
谢谢你的回答 如果您实际使用的是Asp.Net,那么扩展名应该是.aspx。既然你提到使用代码隐藏,我想情况就是这样。下面是我使用Asp.Net进行ajax调用的方法 您不应该使用包含任何HTML的ASPX页面。整个页面仅引用代码隐藏。页面上的任何HTML都将与响应文本一起返回
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddNewBankHtml.aspx.cs" Inherits="ajax_AddNewBankHtml" %>
如果设置了正确的内容类型,您可以输出任何您喜欢的内容:Javascript、XML、JSON等等 您将其标记为ASP.NET,但文件扩展名为.ASP,并且您提到了一个代码隐藏。您确定文件扩展名正确吗?顺便说一句,如果您只想向AJAX调用返回一些数据,请不要使用页面。使用通用处理程序(.ashx)或。您的问题有点混乱。在您的代码背后,您有Response.Write(“Hello”),它只打印“Hello”,而您对页面进行ajax调用时,没有为需要拦截调用的位置定义方法。你想干什么?@mason你说得对。我删除了。嗨,梅森。感谢您的编辑。您应该使用
public static
方法,而不是使用Page\u Load
事件…您将代码作为void的返回类型。它不会在Ajax的上下文中返回任何值。您尝试过吗?我每天都这样做,效果很好。当您使用ajax调用页面时,将运行页面加载事件。这将设置响应对象并返回纯文本“Hello”。你不应该投票否决你不理解、也没有亲自尝试过的答案。当你打电话时,你的页面会发回,而写文本的只是页面负载。我可以想象,当你第一次初始化页面时,你也在写文本。这并不是向调用它的AJAX方法发回响应,这正是关键所在。您只能通过ajax调用调用此页面。正是出于这个原因,我将这些页面保存在一个名为“ajax”的文件夹中。是页面的加载写入了响应。在这种情况下,它只回答“你好”。它可以获取POST变量或Querystring变量,并执行数据库查询和排序。无论你能对其他页面做什么。然后,您可以按任何方式格式化响应。通过设置ContentType,可以将任何类型的文档返回到ajax调用中。是realy aspx。我知道可以选择在另一个从HTML清除的页面中编写代码。但是做第二页是很不舒服的。无论如何谢谢你。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddNewBankHtml.aspx.cs" Inherits="ajax_AddNewBankHtml" %>
protected void Page_Load(object sender, EventArgs e)
{
Response.Expires = -1;
//required to keep the page from being cached on the client's browser
Response.ContentType = "text/plain";
Response.Write("Hello");
Response.End();
}