Debug XMLHttpRequest POST

本文关键字:POST XMLHttpRequest Debug | 更新日期: 2023-09-27 18:14:57

使用xmlhttprequest发送的

json对象需要保存在服务器上。我看到Firebug的"200 ok"。但我有三个问题:

  1. 服务器端脚本/.cs没有运行
  2. 如何保存发布的数据
  3. 的响应/responseText是整个页面。aspx,我怎么能改变它?

谢谢。请参考以下代码:

。aspx:

<%@ Page Language="C#" AutoEventWireup="true"  
CodeFile="xhr1.aspx.cs" Inherits="ohmy" %>
javascript:

var jsonobject={"time":"10:00am","temparature":"55"};
var data=JSON.stringify(jsonobject);
var url = "xhr1.aspx/savetofile?timeStamp=" + new Date().getTime();
var req = new XMLHttpRequest();
req.onerror = function() {};
req.onreadystatechange = function() {if (req.readyState == 4) {}};
req.open('POST', url, false);
req.setRequestHeader("Content-Type", "application/json");
req.send(data);

cs:

using System;
using System.IO;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ohmy : System.Web.UI.Page
{
[System.Web.Services.WebMethod]
public static object savetofile(string data) 
{    }
}

Debug XMLHttpRequest POST

您也可以使用Fiddler和Firebug调试XMLHttpRequest Post。

Firebug

当通过XMLHttpRequest对象向服务器发出请求时,Firebug记录POST或GET请求、响应头和响应的原始文本。要查看这些数据,请单击Net选项卡的XHR子选项卡。这将显示调用列表和响应所花费的时间。在请求的左侧单击+,或者直接单击请求(这是一个链接)。对于GET请求将出现三个选项卡,对于POST请求将出现四个选项卡:

Params:显示请求URL的名称/值对

Headers:显示请求和响应头

Response:显示从服务器接收到的实际数据。

文章。显示从POST请求发送到服务器的数据(选项卡仅显示POST请求,不显示GET请求)。

这四个选项卡在开发和调试中很有用。检查POST和Params选项卡,以确保您的请求被正确发布。检查响应以确定响应的格式,并确保编写的javascript能够处理该格式。如果你不能控制你正在获取的提要,你可以将响应复制并粘贴到文本编辑器中,将其格式化为人类可读的格式,并以这种方式工作。

提琴手:

Fiddler支持断点的概念。当在Rules菜单上选中Enable Single Step Debugging选项时,或者当HTTP Request或Response的属性与目标标准匹配时,Fiddler可以暂停HTTP流量并允许编辑。这个特性对于安全性测试和一般的功能测试都很有用,因为所有的代码路径都可以被执行。