急求Jquery Ajax 中怎么自定义data参数?遇到自定义参数传不到servlet中
<scripttype="text/javascript">$(function(){Stringstr="name1,name2,name3";//假如是前台得到的文本...
<script type="text/javascript">
$(function(){
String str = "name1,name2,name3"; //假如是前台得到的文本框的name属性
String para=""; //创建一个data参数对象
var str_2=""; //最终得到的累加结果,最后一位带逗号的
var result_str=""; //最终拼加成data的字符串
var array = new Array();
array = str.split(","); //按照逗号分隔数组里面的name属性
if(array.length > 0){
$.each(array,function(index,value){
var get_value = "input[name='"+value+"']"; //创建一个得到文本框值的字符串
var str_1 = value+":'"+$(get_value).val()+"' , "; //得到的最终结果如:name:'张三',
str_2 += str_1; //累加每次循环的值,得到一个key:value类型的字符串
});
}
$("#submit").click(function(){
var mm = str2.substring(0,lastIndexOf(",")); //去掉最后拼加后的那个逗号
result_str = "{" +mm+ "}"; //最终拼加后字符串的结果
$.ajax({
url : "<%=basePath %>MyServlet?operation=insert",
type : "post",
data : result_str,
dataType : "json",
cache : false,
beforeSend : function(){alert("loading..");},
success : function(data){},
error : function(){alert("error...");}
});
});
});
</script>
代码自己拼加的data参数不能够传到后台Servlet中,取到的都为null,求高手指教,Jquery ajax中的data参数如何拼加才是正确的。能够把我最终得到的参数传到后台中,感激不尽啊,能够解决了继续加分。。
String str = "name1,name2,name3"; //假如是前台得到的文本框的name属性
String para=""; //创建一个data参数对象
声明错了,是 varstr = "name1,name2,name3"; //假如是前台得到的文本框的name属性
var para=""; //创建一个data参数对象 展开
$(function(){
String str = "name1,name2,name3"; //假如是前台得到的文本框的name属性
String para=""; //创建一个data参数对象
var str_2=""; //最终得到的累加结果,最后一位带逗号的
var result_str=""; //最终拼加成data的字符串
var array = new Array();
array = str.split(","); //按照逗号分隔数组里面的name属性
if(array.length > 0){
$.each(array,function(index,value){
var get_value = "input[name='"+value+"']"; //创建一个得到文本框值的字符串
var str_1 = value+":'"+$(get_value).val()+"' , "; //得到的最终结果如:name:'张三',
str_2 += str_1; //累加每次循环的值,得到一个key:value类型的字符串
});
}
$("#submit").click(function(){
var mm = str2.substring(0,lastIndexOf(",")); //去掉最后拼加后的那个逗号
result_str = "{" +mm+ "}"; //最终拼加后字符串的结果
$.ajax({
url : "<%=basePath %>MyServlet?operation=insert",
type : "post",
data : result_str,
dataType : "json",
cache : false,
beforeSend : function(){alert("loading..");},
success : function(data){},
error : function(){alert("error...");}
});
});
});
</script>
代码自己拼加的data参数不能够传到后台Servlet中,取到的都为null,求高手指教,Jquery ajax中的data参数如何拼加才是正确的。能够把我最终得到的参数传到后台中,感激不尽啊,能够解决了继续加分。。
String str = "name1,name2,name3"; //假如是前台得到的文本框的name属性
String para=""; //创建一个data参数对象
声明错了,是 varstr = "name1,name2,name3"; //假如是前台得到的文本框的name属性
var para=""; //创建一个data参数对象 展开
3个回答
展开全部
$(function(){
var str = "name1,name2,name3"; //假如是前台得到的文本框的name属性
var para = ""; //创建一个data参数对象
var str_2 = ""; //最终得到的累加结果,最后一位带逗号的
var result_str = ""; //最终拼加成data的字符串
var array = new Array();
array = str.split(","); //按照逗号分隔数组里面的name属性
var obj = new Object();
if (array.length > 0) {
$.each(array, function(index, value) {
var get_value = "input[name='" + value + "']"; //创建一个得到文本框值的字符串
obj.value = $(get_value).val();
});
}
$("#submit").click(function() {
var mm = str2.substring(0, lastIndexOf(",")); //去掉最后拼加后的那个逗号
result_str = "{" + mm + "}"; //最终拼加后字符串的结果
$.ajax({
url : "<%=basePath %>MyServlet?operation=insert",
type : "post",
data : obj,
dataType : "json",
cache : false,
beforeSend : function() {
alert("loading..");
},
success : function(data) {
},
error : function() {
alert("error...");
}
});
});
});
试试
更多追问追答
追问
你创建的那个obj只是取得第一个文本框的值呃,不能够取得别的。
追答
修改13行
obj[value] = $(get_value).val();
$(function(){
$("#submit").click(function() {
var str = "name1,name2,name3"; //假如是前台得到的文本框的name属性
var array = new Array();
array = str.split(","); //按照逗号分隔数组里面的name属性
var obj = new Object();
if (array.length > 0) {
$.each(array, function(index, value) {
var get_value = "input[name='" + value + "']"; //创建一个得到文本框值的字符串
obj[value] = $(get_value).val();
});
}
alert(JSON.stringify(obj));
$.ajax({
url : "<%=basePath %>MyServlet?operation=insert",
type : "post",
data : obj,
dataType : "json",
cache : false,
beforeSend : function() {
alert("loading..");
},
success : function(data) {
},
error : function() {
alert("error...");
}
});
});
});
展开全部
$("#submit").click(); 这个id是submit的按钮是button 还是 submit 如果是submit 需要
$("#submit").click(function( e ){
e.preventDefault();//不让页面提交
var mm = str2.substring(0,lastIndexOf(",")); //去掉最后拼加后的那个逗号
}
$("#submit").click(function( e ){
e.preventDefault();//不让页面提交
var mm = str2.substring(0,lastIndexOf(",")); //去掉最后拼加后的那个逗号
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据格式不对,你用的json,json使用的键值对形式存储数据。如:
{“a”:"A","b":"B","c":"C"}
{“a”:"A","b":"B","c":"C"}
更多追问追答
追问
上面有转成json格式的
这是最后生成的格式: {b1:'申请人',b4:'地址'}
追答
你的str2未定义,是不是str_2呢
还有,你前面做的那些累加字符串工作都是在页面加载的时候做的,到执行单击事件的时候,获取到的字符串都是空的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询