javascript - 为什么这个ajax帖子不能正常工作?

标签 javascript ajax

下面的函数创建一个 AJAX 帖子。 makepostrequest 只是我写的一个标准的 ajax post 请求函数,我省略了它,因为它不是问题的根源。下面的函数不发送“小部件”。

function widgets_positions(){
    var widgets = '';
    var col_1 = document.getElementById('col_1');
    var col_2 = document.getElementById('col_2');
    var col_3 = document.getElementById('col_3');
    for(i = 0; i < col_1.childNodes.length; i++) {
        var str1 = col_1.childNodes[i].className;
        if(str1 && str1.match('widget')) widgets+='&c[1]['+i+']='+col_1.childNodes[i].id;
    }

makePOSTRequest('/ajax.php',"widgets="+widgets);


    return true;
}

但如果代替“小部件”,我会尝试发布

var random = 'sumo'
makePOSTRequest('/ajax.php',"widgets="+random);

它有效。

不仅如此,如果我在上面的 'makepostrequest' 之前放置一个 echo 命令,'widgets' 会在 clinetside 上打印为 c[ 1]c[1]废话

那么为什么 var random = 'sumo' 会被发送,而 'widgets' 变量却没有发送?

最佳答案

这是因为“widgets”以 & 开头,它将标记该请求中另一个变量定义的开始。所以“小部件”变空了。

尝试删除该“&”,并在服务器端相应地解析它以正确读取每个小部件。

关于javascript - 为什么这个ajax帖子不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221216/

相关文章:

arrays - AngularJS Bootstrap-ui 选项卡用于提取动态内容

javascript - videogular 裁剪视频而不是调整大小

javascript - 渲染警告 : there is no texture bound to the unit 0

javascript - Knockout.js 在文本区域中使用换行符绑定(bind) html 字符串的最佳方法

javascript - 单击单选按钮时执行 PHP 函数,Wordpress

javascript - 使用ajax在后台删除mysql数据库条目

ajax - JQuery变量问题

ajax - Ajax中的CORS请求具有IdentityServer3授权的MVC Controller

javascript - 通过 javascript 在文档顶部注入(inject)该 SVG

javascript - 使用 javascript 根据状态和商店计算对象?