Javascript 如何在asp.net c中获取服务器端的XMLHTTPRequest对象#
我想使用HTML5将json数据从客户端(javascript)发送到服务器端(ASP.NET,C#)。我使用XMLHttpRequest对象通过使用以下javascript代码向服务器发送数据。我在html按钮点击后执行这段代码Javascript 如何在asp.net c中获取服务器端的XMLHTTPRequest对象#,javascript,jquery,asp.net,html,Javascript,Jquery,Asp.net,Html,我想使用HTML5将json数据从客户端(javascript)发送到服务器端(ASP.NET,C#)。我使用XMLHttpRequest对象通过使用以下javascript代码向服务器发送数据。我在html按钮点击后执行这段代码 var xhr = new XMLHttpRequest(); var jsonString = JSON.stringify(jsonObj); xhr.open('GET', '/HTML5_Crud.aspx?obj='+jsonString, true); x
var xhr = new XMLHttpRequest();
var jsonString = JSON.stringify(jsonObj);
xhr.open('GET', '/HTML5_Crud.aspx?obj='+jsonString, true);
xhr.send();
在服务器端(ASPX.cs)文件中,我使用Page_Load方法中的以下代码从客户端获取数据
if (Request.QueryString["obj"] != null)
{
jsonStr= Convert.ToString(Request.QueryString["obj"]);
lblTest.Text = "the json is: "+ jsonStr;
}
但是,当我运行应用程序并单击按钮时,我的标签不会用最新数据更新。它仍然与我内联设置的默认文本相同。请帮助我如何解决此问题。在第二个代码段中,lblTest.Text的值仅存在于您从javascript发出的请求的上下文中。没有神奇的方法可以更新最初发送到浏览器的响应。如果您希望更新,则必须执行以下任一操作:
你试图做两件不同的事。XMLHttpRequest用于AJAX请求,您在后端执行的操作只会在页面重新加载时更新页面。但是,由于您正在发送一个AJAX请求,因此页面永远不会刷新
您需要做的是在代码中使用字符串或其他内容进行响应,并在javascript中根据需要使用字符串。您的标签不会以这种方式更新 相反,您应该将该值返回到请求中,并处理xhr的
onreadystatechange
事件
或者,您可以将标签包装在UpdatePanel中,并添加一个按钮,例如将值存储在隐藏字段中并导致回发。然后可以从该字段中检索值,整个面板将更新为新值。尝试在ajax请求中添加回调函数。。如果你熟悉的话