AJAX 后台怎么取不到直

fzslai2016 2010-04-25 12:24:28
代码如下 请高手 指点下 谢谢

ajax_http.js
-------------
function getXMLHTTP() {

var xmlhttp;
if (window.ActiveXObject) {
//IE
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
xmlhttp = new ActiveXObject("Msxml2.XMLHTP");
}
} else {
//FireFox
xmlhttp = new XMLHttpRequest();
}

return xmlhttp;
}


var XMLHttpObj;

function addTestInfo1() {

XMLHttpObj = getXMLHTTP();

// var subName = document.getElementById("D1").value;
var txtTitle = document.getElementById("txt").value;
var txtA = document.getElementById("txtA").value;
var txtB = document.getElementById("txtB").value;
var txtC = document.getElementById("txtC").value;
var txtD = document.getElementById("txtD").value;
var txtQuestion = document.getElementById("txt1").value;
var txtFenS = document.getElementById("txt2").value;



XMLHttpObj.open("POST", "checkTestInfo.aspx?TestTitle=" + txtTitle + "&TestA=" + txtA + "&TestB=" + txtB + "&TestC=" + txtC + "&TestD=" + txtD + "&TestAnswer=" + txtQuestion + "&TestFenShu=" + txtFenS, true);
XMLHttpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
XMLHttpObj.onreadystatechange = proc;
XMLHttpObj.send(null);


}



function proc() {
if (XMLHttpObj.readyState == 4) {
if (XMLHttpObj.status == 200) {
// var v = XMLHttpObj.responseText;
//alert(v);

// var vv = XMLHttpObj.responseXML;
//javascript解析XML
//var ret = vv.documentElement.firstChild.data;
//alert(ret);
if (XMLHttpObj.responseText =="true") {
window.alert("添加成功");
}
else {

window.alert("添加失败");
}
}
}
}

---------------------
添加界面
addTestInfo.aspx
--------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="addTestInfo.aspx.cs" Inherits="Admin_addTestInfo" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="js/ajax_http.js"></script>


<style type="text/css">
#Select1
{
width: 74px;
}
#Text1
{
height: 46px;
width: 191px;
}
</style>


</head>
<body>
<form id="form1" runat="server">
<div>

学科<select id="Select1" name="D1" runat="server">
<option></option>
</select><br />
<br />
题干:<input id="txtTitle" type="text"name="txt"/><br />
<br />
选项A:<input id="txtA" type="text" name="txtA"/><br />
<br />
选项B:<input id="txtB" type="text"name="txtB" /><br />
<br />
选项C:<input id="txtC" type="text" name="txtC"/><br />
<br />
选项D:<input id="txtD" type="text" name="txtD"/><br />
<br />
正确答案:<input id="txtQuestion" type="text" name="txt1"/><br />
<br />
分   数:<input id="txtFenS" type="text" name="txt2" /><br />
<br />
<input id="Submit1" type="submit" value="添加" onclick="addTestInfo1();" /></div>
</form>
</body>
</html>

-------------------

连接数据界面
--------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using DAL;
using BLL;
using Model;
public partial class Admin_checkTestInfo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{


string txtTitle = Request.QueryString["TestTitle"];

string txtA = Request.QueryString["txtA"];
string txtB = Request.QueryString["txtB"];
string txtC = Request.QueryString["txtC"];
string txtD = Request.QueryString["txtD"];
string txtQuestion = Request.QueryString["txtQuestion"];
string txtFenS = Request.QueryString["txtFenShu"];


//context.Response.ContentType = "text/xml";
DBcon db = new DBcon();

SqlConnection con = db.GetCon();
string sql = "insert into Test(TestTitle,TestA,TestB,TestC,TestD,TestQ,TestFenS) values('" + txtTitle + "','" + txtA + "','" + txtB + "','" + txtC + "','" + txtD + "','" + txtQuestion + "','" + txtFenS + "')";

int i = db.GetOperation(sql);



}

}


}
...全文
198 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
netna 2010-04-26
  • 打赏
  • 举报
回复
帮顶。。
x276912756 2010-04-26
  • 打赏
  • 举报
回复
帮顶!!!!!!!!!下!!!!!
liq1979 2010-04-26
  • 打赏
  • 举报
回复
function proc() {
if (XMLHttpObj.readyState == 4) {
if (XMLHttpObj.status == 200) {
if (XMLHttpObj.responseText =="true") {
window.alert("添加成功");
}
else {

window.alert("添加失败");
}
}
}
}
你这里显示 responseText 如果等于true,那么你服务器端的代码,必须用Response.Write输出信息,前台才能接受到。

还有你的代码 既然用url方式传递数据,那么改成get方式请求页面即可
XMLHttpObj.open("get", "checkTestInfo.aspx?TestTitle=" + txtTitle + "&TestA=" + txtA + "&TestB=" + txtB + "&TestC=" + txtC + "&TestD=" + txtD + "&TestAnswer=" + txtQuestion + "&TestFenShu=" + txtFenS, true);
fzslai2016 2010-04-26
  • 打赏
  • 举报
回复
你的问题解决了么 解决了说下哦 谢谢
threenewbee 2010-04-25
  • 打赏
  • 举报
回复
用httplook抓包,看数据提交的对不对,提交到哪里了。
这样问题范围缩小了一半。

然后服务器或者客户端单步调试,找到问题。
happy664618843 2010-04-25
  • 打赏
  • 举报
回复
send(参数)或者将它改成get()
huangwenquan123 2010-04-25
  • 打赏
  • 举报
回复
XMLHttpObj.open("POST", "checkTestInfo.aspx?TestTitle=" + txtTitle + "&TestA=" + txtA + "&TestB=" + txtB + "&TestC=" + txtC + "&TestD=" + txtD + "&TestAnswer=" + txtQuestion + "&TestFenShu=" + txtFenS, true);
post不能这样传参数要用get才能这样传
如果是post的话
参数要在这里传XMLHttpObj.send(null);
null改为xmlhttpobj.send("TestTitle="+txttitle+"&TestA="+....)
eebin 2010-04-25
  • 打赏
  • 举报
回复
我也遇到问题
xingshungames 2010-04-25
  • 打赏
  • 举报
回复
XMLHttpObj.open("POST", "checkTestInfo.aspx?TestTitle=" + txtTitle + "&TestA=" + txtA + "&TestB=" + txtB + "&TestC=" + txtC + "&TestD=" + txtD + "&TestAnswer=" + txtQuestion + "&TestFenShu=" + txtFenS, true);

改成get试试看
S314324153 2010-04-25
  • 打赏
  • 举报
回复
? 传参是get方式吧
Robin 2010-04-25
  • 打赏
  • 举报
回复
XMLHttpObj.open("POST", "c

你的是以POST方式提交的。所有取值要用
string txtA = Request.From["txtA"];
get方式用这个:string txtA = Request.QueryString["txtA"];

http://blog.xunbin.com/
wuyq11 2010-04-25
  • 打赏
  • 举报
回复
单步跟踪看看获取的数据
使用ashx
xshf12345 2010-04-25
  • 打赏
  • 举报
回复
if (!Page.IsPostBack)
{
可以不用
string txtTitle = Request.QueryString["TestTitle"];

string txtA = Request.QueryString["txtA"];
string txtB = Request.QueryString["txtB"];
string txtC = Request.QueryString["txtC"];
string txtD = Request.QueryString["txtD"];
string txtQuestion = Request.QueryString["txtQuestion"];
string txtFenS = Request.QueryString["txtFenShu"];
在下面写上
response.Clear();
respose。write(txtA);
response.End();
然后在前台看看有没有得到值。。。
unicode 2010-04-25
  • 打赏
  • 举报
回复
没看到你后台有输出值

62,074

社区成员

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

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

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

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