jQuery AJAX发布正在更改发布数据中的字符 - php

我正在使用jQuery post将复选框值发布到另一个文件,我知道页面可以正常工作,并且逻辑是正确的,因为当我不使用jQuery post时页面可以正常工作,问题是它似乎弄乱了数组,因此导致它无法正常工作

我的radio字段使用以下表单字段:

<input type="checkbox" name="radio[]" value="<? print $id; ?>">

发布到下一页时由哪个处理

if ($_POST['radio']){
    foreach($_POST['radio'] as $val) {

这是我使用print_r($_POST);以常规形式提交时发布的内容

Array (
    [radio] => Array (
        [0] => 13
        [1] => 12
    )
    [ros] => sell
    [submit] => submit
)

效果很好,问题是它在jQuery AJAX中不起作用,因此我无需刷新即可处理数据,当我使用jQuery AJAX发布表单时,数据如下所示:

Array (
    [ros] => sell
    [submit] => submit
    [radio] => radio %5B %5D=15&radio%5B%5D=14&ros=sell
)

这是我的jQuery AJAX发布脚本:

function submitgarage() {
    var submit = $("input[name=submit]").val();
    var ros = $("#ros option:selected").val(); 
    var radio = $("#garageform").serialize();
    $.post("ajax/vehicles/garage.php", { ros: ros, submit: submit, radio: radio },
    function(data) {
        $('#results').html(data);
    });
}

如您所见,它正在添加%5B %5D等,我尝试使用utf8_decode,导致服务器500错误,尝试使用urldecode,我怀疑无论如何都无法正常工作,我是对的,我似乎无法像以前一样发布它。

我已经检查了关于Stack Overflow的其他主题,是否有同样的事情,但似乎找不到解决方案。

参考方案

jQuery的AJAX序列化了给定的数据对象,但是您已经序列化了无线电字段,因此您将其序列化了两次。

您的radio变量必须是数组,而不是已序列化的数据。

var radio = $("#garageform [name='radio[]']:checked").get().map(function(e) {
    return e.value;
});

jQuery Ajax加载仅适用于单个单词变量 - php

在我的PHP文件中,我将一些变量从输入框传递到链接中,该链接通过jQuery的ajax load函数在其URL中使用该变量加载页面。整个系统运行良好,但仅适用于单字变量。每当涉及到空格时,我的Ajax通话都会中断。我假设这是一个编码问题,但是我也有一些疑问。基本上,它归结为我的PHP文件中的这一行代码,这导致了混乱。是否有可能找出格式是否正确,或者为什么在多…

jQuery-找不到Ajax网址 - php

好的,我敢肯定这确实很容易,而且我很愚蠢,但是似乎并不能深入了解它。我试图从我的js文件“ custom.js”中对“ helpers.php”中的某些代码进行简单的AJAX调用。但是,我仍然收到404错误,因为我似乎并没有正确遍历文件夹,尽管我确信我正在...我的文件夹结构如下:html index.php js/ custom.js includes h…

PHP-服务器端验证-这是一个好方法吗? - php

我已经通过jQuery的帮助进行了广泛的客户端验证。现在进入服务器端验证,如果我发现某些字段无效,是否可以简单地将错误返回给客户端并且没有任何有用的消息?我的假设是用户必须启用JavaScript才能访问我的网页。如果Web浏览器禁用了JavaScript,则用户将看不到该表单。我可以简单地使用noscript来做到这一点。如果他们通过我设计的表单提交信息,…

AJAX实时电子邮件验证(PHP) - php

当用户在我的网站上创建帐户时,我希望对照我的数据库(MySQL)中的所有当前用户名检查输入的用户名,并确认是否可用。有谁知道我可以使用的任何好的库,或者是jQuery的插件? 参考方案 所需的确切信息以示例形式here给出。它使用jQuery作为JavaScript库

验证php中的javascript对象 - php

在我的用户界面中,用户可以构建一些javascript对象,例如:var box = { "width": "100px", "height": "200px", "click": function () { alert("You clicked t…