我的管理页面使用JQuery AJAX发送数据时遇到问题,但它不处理&或“,原因很明显(它们破坏了数据字符串/ URL)。
使用允许这些字符的Javascript发送此数据的正确方法是什么?使用数据数组可能会解决&,但会解决“吗?
必须可接受的示例输入:执行此操作并按“ Enter”
function SaveCombinations() {
var priority = 0;
$("#sort li").each(function() {
$.ajax({"url": "lib/sc-save.php", "data": "id="+this.id+"&name="+$(this).find("input").val()+"&priority="+priority, "type": "POST",
"success": function() {}});
priority++;
});
}
将数据作为对象传递,它将为您处理:
function SaveCombinations() {
var p = 0;
$('#sort li').each(function(){
var $id = this.id,
$name = $(this).find('input').val(),
$priority = p, // you don't really need to do this, its just a maintainability thing in case it changes in the future
$data = {id:$id,name:$name,priority:$priority};
$.ajax({
type:'POST',
url:'lib/sc-save.php',
data:$data
}).done(function(){
p++;
});
});
}
遵循这些思路,既可以解决您的问题,又可以使阅读/维护变得容易得多。
编辑
正如有人指出的那样,该.each()
函数已经为您处理了索引。
function SaveCombinations() {
$('#sort li').each(function(i){
var $id = this.id,
$name = $(this).find('input').val(),
$priority = i,
$data = {id:$id,name:$name,priority:$priority};
$.ajax({
type:'POST',
url:'lib/sc-save.php',
data:$data
});
});
}
这对于实现也很好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句