用xmlhttprequest发送的json对象需要保存在服务器上。我从 Firebug 看到“200 ok”。但我有 3 个问题:
- 服务器端脚本/.cs 没有运行
- 如何保存发布的数据
- 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)
{ }
}
程序中缺少辅助类。
最佳答案
您也可以使用 Fiddler和 Firebug调试 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/