2011-11-15 44 views
2

用xmlhttprequest发送的json对象需要保存在服务器上。我看到Firebug的“200 OK”。但是,我有3个问题:调试XMLHttpRequest POST

  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) 
{ } 
} 

辅助类程序缺失。

+0

是否有帮助:http://stackoverflow.com/questions/564289/read-post-data-submitted-to-asp-net-form – zmilojko

回答

1

您也可以使用FiddlerFirebug调试XMLHttpRequest Post。

萤火虫

当一个请求给服务器经由XMLHttpRequest对象制成,萤火虫记录该POST或GET请求,响应头和响应的原始文本。要查看这些数据,请点击Net Tab的XHR子选项卡。这将显示呼叫列表和响应时间。在请求的左边点击+或者直接点击请求(这是一个链接)。三个选项卡将出现在一个GET请求,四为POST的情况:

PARAMS:显示请求URL

的名称/值对:显示再审和响应头

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

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

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

提琴手:

提琴手支持断点的概念。当在“规则”菜单上选中“启用单步调试”选项时,或者当HTTP请求或响应的属性与目标条件匹配时,Fiddler可以暂停HTTP通信并允许编辑。此功能对于安全测试以及常规功能测试非常有用,因为所有代码路径都可以执行。