c# - 调试 XMLHttpRequest POST

标签 c# asp.net xmlhttprequest

用xmlhttprequest发送的json对象需要保存在服务器上。我从 Firebug 看到“200 ok”。但我有 3 个问题:

  1. 服务器端脚本/.cs 没有运行
  2. 如何保存发布的数据
  3. response/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) 
{    }
}

程序中缺少辅助类。

最佳答案

您也可以使用 FiddlerFirebug调试 XMLHttpRequest 帖子。

Firebug

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

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

Headers:显示请求和响应 header

响应:显示从服务器收到的实际数据。

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

这四个选项卡在开发和调试中很有用。检查 POST 和 Params 选项卡以确保正确发布您的请求。检查响应以确定响应的格式,并确保编写的 JavaScript 可以处理该格式。如果您无法控制所获取的提要,则可以将响应复制并粘贴到文本编辑器中,对其进行格式化以使其易于阅读,然后以这种方式工作。

fiddler :

Fiddler 支持断点的概念。当在规则菜单上选中启用单步调试选项时,或者当 HTTP 请求或响应的属性与目标条件匹配时,Fiddler 可以暂停 HTTP 流量并允许编辑。事实证明,此功能对于安全测试以及一般功能测试很有用,因为所有代码路径都可以进行测试。

关于c# - 调试 XMLHttpRequest POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139629/

相关文章:

c# - "Internal error in the expression evaluator"

c# - 如何获取 Canvas 中 UserControl 的 X、Y 位置?

javascript - 如何使用 XMLHttpRequest 对象将 Access-Control-Allow-Origin 设置为 "*"?

JavaScript promise 句柄 404

Firefox Web扩展-读取本地文件(最近下载的文件)

c# - 如何检测点击当前选定的 PivotItem 的标题

C# 数组 XML 序列化

asp.net - 使用 Virtual PC 评估 IIS7?

asp.net - c#中压缩和解压字符串

asp.net - .Net Core Web API 无法将路由添加到 Controller 操作