Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在asp.net c中获取服务器端的XMLHTTPRequest对象#_Javascript_Jquery_Asp.net_Html - Fatal编程技术网

Javascript 如何在asp.net c中获取服务器端的XMLHTTPRequest对象#

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

我想使用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);
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发出的请求的上下文中。没有神奇的方法可以更新最初发送到浏览器的响应。如果您希望更新,则必须执行以下任一操作:

  • 使用回发而不是javascript并更新页面
  • 使用javascript读取Ajax请求的响应,然后更新DOM客户端

  • 你试图做两件不同的事。XMLHttpRequest用于AJAX请求,您在后端执行的操作只会在页面重新加载时更新页面。但是,由于您正在发送一个AJAX请求,因此页面永远不会刷新


    您需要做的是在代码中使用字符串或其他内容进行响应,并在javascript中根据需要使用字符串。

    您的标签不会以这种方式更新

    相反,您应该将该值返回到请求中,并处理xhr的
    onreadystatechange
    事件


    或者,您可以将标签包装在UpdatePanel中,并添加一个按钮,例如将值存储在隐藏字段中并导致回发。然后可以从该字段中检索值,整个面板将更新为新值。

    尝试在ajax请求中添加回调函数。。如果你熟悉的话