急求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参数对象
展开
 我来答
lvming6816077
推荐于2018-03-26 · TA获得超过364个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:138万
展开全部
$(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...");
}
});
});
});
zheyunyue
2013-07-08 · 超过10用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:27.3万
展开全部
$("#submit").click(); 这个id是submit的按钮是button 还是 submit 如果是submit 需要
$("#submit").click(function( e ){
e.preventDefault();//不让页面提交

var mm = str2.substring(0,lastIndexOf(",")); //去掉最后拼加后的那个逗号
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一蘅新
2013-07-08 · TA获得超过2359个赞
知道大有可为答主
回答量:2547
采纳率:0%
帮助的人:1599万
展开全部
  数据格式不对,你用的json,json使用的键值对形式存储数据。如:
{“a”:"A","b":"B","c":"C"}
更多追问追答
追问
上面有转成json格式的

这是最后生成的格式: {b1:'申请人',b4:'地址'}
追答
你的str2未定义,是不是str_2呢

还有,你前面做的那些累加字符串工作都是在页面加载的时候做的,到执行单击事件的时候,获取到的字符串都是空的吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式