ajax send方法问题

arjsyy 2009-04-24 09:57:35
我用的是post方法,然后接收到的参数都是空值这是为什么呢,原来还有值呢,现在却接收 不到了,
...全文
740 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
RamblingSoul 2010-01-01
  • 打赏
  • 举报
回复
不错。呵呵
阿非 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 arjsyy 的回复:]
我把发送的参数追加到url中可以接收得到,但是我要更新数据库,内容很多,所以无法使用get方法,
[/Quote]

context.Request.Form 并不是get 方式哦 ~ 是获得post 提交的参数

context.Request.QueryString 才是获得get 方式 提交的参数哦~

还有要注意的地方 就是

function getUrlParameter()
{
var url=window.location.href;//获取当前的url
var index=url.indexOf("?");
var parameters;
if(index!=-1)
{
parameters=url.substr(index+1);
return parameters;
}
else
{
return "";
}


}

var strSend="content="+getContent()+"&actID="+getUrlParameter()+"&now="+new Date().getTime();



「已注销」 2009-04-24
  • 打赏
  • 举报
回复
上面幫你看了這么久你貼的代碼,結果已經解決了
呵呵,有意思~
melon23 2009-04-24
  • 打赏
  • 举报
回复
当参数多时最好写成一个函数:
function addPostParam(sParams, sParamName, sParamValue) {
if (sParams.length > 0) {
sParams += "&";
}
return sParams + encodeURIComponent(sParamName) + "="
+ encodeURIComponent(sParamValue);
}
arjsyy 2009-04-24
  • 打赏
  • 举报
回复
同样感谢你们
arjsyy 2009-04-24
  • 打赏
  • 举报
回复
好的,找到原因了,是因为没有设置发送头部,和接收的conten-type这个属性
后台里加上这个context.Response.ContentType = "application/x-www-form-urlencoded";
js中加上 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
这样就OK了
melon23 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 melon23 的回复:]

因此试试:strSend="content="+getContent()+"&actID"++getUrlParameter()+"&now="+new Date().getTime()


[/Quote]
写错了,strSend="content="+getContent()+"&actID="+getUrlParameter()+"&now="+new Date().getTime()
melon23 2009-04-24
  • 打赏
  • 举报
回复
error:var strSend="content="+getContent()+"&"+getUrlParameter()+"&now="+new Date().getTime();
send格式应该这样:send("name1=value1&name2=value2")。
因此试试:strSend="content="+getContent()+"&actID"++getUrlParameter()+"&now="+new Date().getTime()

arjsyy 2009-04-24
  • 打赏
  • 举报
回复
我把发送的参数追加到url中可以接收得到,但是我要更新数据库,内容很多,所以无法使用get方法,
阿非 2009-04-24
  • 打赏
  • 举报
回复

content = context.Request.Params["content"];
actID = context.Request.Params["actID"];


content = context.Request.Form["content"];
actID = context.Request.Form["actID"];

arjsyy 2009-04-24
  • 打赏
  • 举报
回复
有页面,就是一个div,然后我要获得div里的内容,然后传到后台
luobing261314 2009-04-24
  • 打赏
  • 举报
回复
看不懂!
阿非 2009-04-24
  • 打赏
  • 举报
回复
var controls=document.getElementById('temp').childNodes;

没页面代码 ,我怎么知道temp 是什么标签啊, 它里面有什么啊
arjsyy 2009-04-24
  • 打赏
  • 举报
回复
没有页面代码
qq2013 2009-04-24
  • 打赏
  • 举报
回复
帮你ding吧
阿非 2009-04-24
  • 打赏
  • 举报
回复
你页面的代码呢
arjsyy 2009-04-24
  • 打赏
  • 举报
回复
看一下哪错了
arjsyy 2009-04-24
  • 打赏
  • 举报
回复
后台代码
<%@ WebHandler Language="C#" Class="GetTemp" %>
using System;
using System.Web;
public class GetTemp : IHttpHandler {

public void ProcessRequest (HttpContext context) {
//context.Response.ContentType = "text/plain";
string content = String.Empty ;
string actID = String.Empty;
content = context.Request.Params["content"];
actID = context.Request.Params["actID"];
WebSite.Model.UserInfo userModel = new WebSite.Model.UserInfo();
WebSite.BLL.UserInfoBll userBll = new WebSite.BLL.UserInfoBll();
userModel.userActID = Convert.ToInt32 (actID);
userModel.userInfo = content ;
if (userBll.Add(userModel) > 0)
{
context.Response.Write("操作成功!");
context.Response.Flush();
context.Response.End();
}
else
{
context.Response.Write("操作失败,稍后请重试!");
context.Response.Flush();
context.Response.End();
}
}

public bool IsReusable {
get {
return false;
}
}


}
arjsyy 2009-04-24
  • 打赏
  • 举报
回复
这是js代码
var html="";
var xmlHttp;
///获取url中的参数
function getUrlParameter()
{
var url=window.location.href;//获取当前的url
var index=url.indexOf("?");
var parameters;
if(index!=-1)
{
parameters=url.substr(index+1);
return parameters;
}
else
{
return "";
}


}
function getContent()
{
var controls=document.getElementById('temp').childNodes;
var html="";
for(var i=0;i<controls.length;i++)
{
html+=controls[i].innerHTML+"<br>";
}
return html;
}
//创建XMLHttpRequest对象
function createXmlHttpRequest()
{
if(window.ActiveXObject)//IE
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
xmlHttp=new ActiveXObject("MSXML2.XMLHTTP");
}
}
else if(window.XMLHttpRequest)//其它浏览器
{
try
{
xmlHttp=new XMLHttpRequest();
}
catch(e)
{
alert("您的浏览器不支持!")
}
}
}

function UserOpear(method,url,divID)
{
createXmlHttpRequest();
url=url+"?date="+new Date().getTime();
var strSend="content="+getContent()+"&"+getUrlParameter()+"&now="+new Date().getTime();
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange=getResult;
xmlHttp.send(strSend);
}
function getResult()
{
if(xmlHttp.readystate==4)
{
if(xmlHttp.status==200)
{
alert(xmlHttp.responseText);
}
}
}
阿非 2009-04-24
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load(Request.InputStream);
XmlNodeList selectedPetTypes = xmlDoc.GetElementsByTagName("type");
String type = null;
String responseText = "Selected Pets: ";
for (int i = 0; i < selectedPetTypes.Count; i++)
{

type = selectedPetTypes[i].FirstChild.Value;
responseText = responseText + " " + type;
}
Response.Write(responseText);
Response.End();
}
加载更多回复(1)

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧