ajax接收并传递参数问题
现在我有一个ajax网页realtime.jsp,其中向后台传参数是这样的data:{table:'0050c2236701'}但是我现在希望可以手动输入这个参数,因此我...
现在我有一个ajax网页realtime.jsp,其中向后台传参数是这样的
data: {table: '0050c2236701'}
但是我现在希望可以手动输入这个参数,因此我新建了个网页,使用form传递用户输入的参数
<FORM id="sub" action="realtime.jsp" method="post">
Name: <input type="text" name="name" />
<input type="submit" value="Submit Comment" />
</FORM>
但是我不知道怎么可以让realtime.jsp中的ajax代码接受到用户输入的参数呢?
同时,我这个realtime.jsp中的ajax代码是自动无刷新的 : setInterval(getData,1000);
向后台 : url: "getdata.jsp"
不停的提交这个data参数,所以可不可以让用户输入一次,提交之后,让realtime.jsp这个网页上的ajax代码一直提交用户输入的参数。直到用户返回?
不是很明白gwg的回答,我现在主要不明白2点
一个是怎么可以让ajax接受form提交过来的数据,然后作为 data: {xx:xx},提交给后台?
一个是如果ajax可以接受了,但是由于我这个ajax代码是每秒钟都会自动调用一次function getData() 所以能否让ajax接受一次参数以后都按照这个参数去提交? 展开
data: {table: '0050c2236701'}
但是我现在希望可以手动输入这个参数,因此我新建了个网页,使用form传递用户输入的参数
<FORM id="sub" action="realtime.jsp" method="post">
Name: <input type="text" name="name" />
<input type="submit" value="Submit Comment" />
</FORM>
但是我不知道怎么可以让realtime.jsp中的ajax代码接受到用户输入的参数呢?
同时,我这个realtime.jsp中的ajax代码是自动无刷新的 : setInterval(getData,1000);
向后台 : url: "getdata.jsp"
不停的提交这个data参数,所以可不可以让用户输入一次,提交之后,让realtime.jsp这个网页上的ajax代码一直提交用户输入的参数。直到用户返回?
不是很明白gwg的回答,我现在主要不明白2点
一个是怎么可以让ajax接受form提交过来的数据,然后作为 data: {xx:xx},提交给后台?
一个是如果ajax可以接受了,但是由于我这个ajax代码是每秒钟都会自动调用一次function getData() 所以能否让ajax接受一次参数以后都按照这个参数去提交? 展开
3个回答
展开全部
1、realtime.jsp接收参数的语句是:
String name=request.getParameter("name");
然后将
data: {table: '0050c2236701'}
改成:
data: {table: '<%=name%>'}
2、setInterval(getData,1000);应该是javascript语句,应该可以反复提交。
3、有一点不明白的是:这么做想去实现一个什么样的功能,还有怎么让他停止呢?
String name=request.getParameter("name");
然后将
data: {table: '0050c2236701'}
改成:
data: {table: '<%=name%>'}
2、setInterval(getData,1000);应该是javascript语句,应该可以反复提交。
3、有一点不明白的是:这么做想去实现一个什么样的功能,还有怎么让他停止呢?
更多追问追答
追问
我不知道我理解的对不对,这个String name=request.getParameter("name");是jsp代码吧?我在realtime.jsp的body里面写这个 代码么?但是ajax代码会在jsp之前执行,应该是不能读到这个name的吧?
我这么写了之后,data: {table: ''},myeclipse提示我这个name不能被解析。。
我这么做是想实现这样的效果,就是用户可以输入参数,选择某个文件,不停的实时刷新这个文件内容,因为这个文件会被隔一段时间就更新
追答
1、不错,String name=request.getParameter("name");是服务端代码,所以应该放在中
2、对“但是ajax代码会在jsp之前执行,应该是不能读到这个name的吧?”,这个问题应该这么去解决:
将javascript,或者你说的Ajax代码放在:
$(document).ready(){function(){
//放在这里
}}
这样的话,只有等服务端代码加载完成后才会执行javascript
展开全部
可以啊,先把参数设置成全局变量,然后从ealtime.jsp传递到 后台中,然后后台会给前台一个返回码 如果200就正确了,如果不是200你就判下重新提交,因为参数是全局,所以丢不了
第一个问题答案,form里面控件的值,用document.getElementById().value的方法可以获取,然后赋值给data
第二个问题答案,把data变成全局变量,不是在funtion里声明,然后ajax在调用的时候只要你的data没改变,那么ajax传的就是一个值
第一个问题答案,form里面控件的值,用document.getElementById().value的方法可以获取,然后赋值给data
第二个问题答案,把data变成全局变量,不是在funtion里声明,然后ajax在调用的时候只要你的data没改变,那么ajax传的就是一个值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二个input改成button:<input type="button" onclick="getData();" value="Submit Comment" />
大致代码:
var d='';
function getData(){
if(d=='') d=$("input[name=name]").val();
if(d.replace(/[ ]/g,"")!=''){
$.get({'realtime.jsp',{table:d}});
})
}
}
大致代码:
var d='';
function getData(){
if(d=='') d=$("input[name=name]").val();
if(d.replace(/[ ]/g,"")!=''){
$.get({'realtime.jsp',{table:d}});
})
}
}
追问
其他的大概能明白什么意思,但是--》$.get({'realtime.jsp',{table:d}});
是什么意思呢?是说realtime.jsp向后传递的参数是{table:d}么?但是我realtime.jsp里面不止有一个getData(),我还有其他的ajax的代码,也会向后台传参数,这样会影响吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询