我需要一种方法来解析一个字符串,循环遍历它,将它的元素添加到一个对象中并用它做一个帖子。
我们的遗留表单只接受参数“字母”,我们不想在那里更改任何内容。
例如。
<form>
<input type="checkbox" name="letters" value="a" />
<input type="checkbox" name="letters" value="b" />
</form>
var msg = "x;y;z";
var a = msg.split(';');
for (i = 0; i < a.length; i++) {
.....
我将使用什么类型的对象以及如何将其添加到此格式中?
someobj = { letters: a, letters: b, letters: c }
这是否有效?
这将用于做一个 $ .post('/',someobj,function(){});
将会做
$.post('/', { letters: a, letters: b, letters: c }, function() { });
或者有更简单的方法吗?
答案 0 :(得分:0)
如果您只需要提交数组,那么您已拥有大部分代码:
var msg = "x;y;z";
var a = msg.split(';');
$.post(url,
{letters: a},
function ( jsonResults ) {
// ...
}
);
答案 1 :(得分:0)
执行此操作时:
someobj = { letters: "a", letters: "b", letters: "c" }
结果将是:
someobj = { letters: "c" }
因为,无论如何,您一次又一次地替换此对象的letters
键。
我建议将此逗号分隔为数组,如:
someobj = { letters: msg.split(";")}
或者,在该对象中将其作为字符串发送, 这将执行以下操作:
someobj = { letters: msg.split(";").join(",")}
或
someobj = { letters: msg.replace(/\;/g, ",")}