为什么Ajax有时会对序列化的数据进行urlencode,而有时却不会呢?

保罗

当我使用ajax将序列化数据发送到PHP文件时,有时会根据我的方式对其进行URL编码。

本来我有下面的代码工作正常:

$.ajax({
        type: 'POST',
        url: 'ajax-process.php',
        data: $("#sitestructure-form").serialize(), 
        success: function(d){$("#structureupdate").html(d);}
});

数据已发送到我的PHP文件,我可以回显它,它看起来像这样。

[{"id":20,"children":[{"id":21}]},{"id":19},{"id":18,"children":[{"id":14}]},{"id":16},{"id":13,"children":[{"id":11}]},{"id":17},{"id":15},{"id":12}]

我想发送多个数据,我称序列化数据为“订单”,并向其中添加了“过程”,所以我将代码更新为以下内容:

$.ajax({
        type: 'POST',
        url: 'ajax-process.php',
        data: {
            order: $("#sitestructure-form").serialize(),
            process: "sitemap-reordernavigation"
              },
        success: function(d){$("#structureupdate").html(d);}
                    });

但是,当我检索以“ order”发送的序列化数据时,输出如下所示:

data=%5B%7B%22id%22%3A20%2C%22children%22%3A%5B%7B%22id%22%3A21%7D%5D%7D%2C%7B%22id%22%3A19%7D%2C%7B%22id%22%3A18%2C%22children%22%3A%5B%7B%22id%22%3A14%7D%5D%7D%2C%7B%22id%22%3A16%7D%2C%7B%22id%22%3A13%2C%22children%22%3A%5B%7B%22id%22%3A11%7D%5D%7D%2C%7B%22id%22%3A17%7D%2C%7B%22id%22%3A15%7D%2C%7B%22id%22%3A12%7D%5D

我能想到的解决此问题的唯一方法是使用php对它进行urldecode,然后使用str_replace删除前面的“ data =”位,就像这样。

    $data = str_replace("data=","",urldecode($_POST['order']));

我怎样才能使它与AJAX一起使用,所以我不必urldecode呢?

香港专业教育学院试图使用一个变量,并将processData设置为false,但似乎没有工作。

var order = $("#sitestructure-form").serialize();
$.ajax({
        type: 'POST',
        url: 'ajax-process.php',
        processData: false,
        data: {
            order: order,
            process: "sitemap-reordernavigation"
              },
        success: function(d){$("#structureupdate").html(d);}
                    });

我对AJAX / Jquery的了解非常有限,因此任何帮助将不胜感激。

保罗

通过执行以下操作来修复:

 $.ajax({
        type: 'POST',
        url: 'ajax-process.php?',
        data: $("#sitestructure-form").serialize() + "&action=sitemap-reordernavigation", 
        success: function(d){$("#structureupdate").html(d);}
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么pastespecial方法有时会引发错误1004而其他时候却不会呢?

来自分类Dev

为什么整数属性有时会返回0?

来自分类Dev

为什么AS有时会接受大位移而有时却不接受?

来自分类Dev

为什么Clang有时会返回nullptr,有时会返回我想要的?

来自分类Dev

为什么结帐有时会暂存文件?

来自分类Dev

为什么ng-model有时会预先填充而有时却没有?

来自分类Dev

为什么Vim有时会创建.swp文件?

来自分类Dev

为什么`.asInstanceOf`有时会抛出,有时却不会抛出?

来自分类Dev

为什么scipy.norm.pdf有时会使PDF> 1?怎么纠正呢?

来自分类Dev

为什么我的while循环有时会卡住,而有时却不会出现在“秘密圣诞老人”程序中?

来自分类Dev

为什么有时可以使用NodeJS缓冲区连接音频数据,而有时却不能呢?

来自分类Dev

F#和自动转换:有时会,有时不会,其背后的原理是什么?

来自分类Dev

为什么Ruby Procs有时会返回而有时却是错误?

来自分类Dev

为什么jupyter有时会打印格式化的DataFrame并有时打印为文本?

来自分类Dev

为什么BeautifulSoup有时会使用find_all查找所有元素,而有时却找不到?

来自分类Dev

我认为我不完全了解realloc,有人可以向我解释为什么我的代码中的realloc有时会失败,但有时却不会

来自分类Dev

为什么pastespecial方法有时会引发错误1004而其他时候却不会呢?

来自分类Dev

为什么我有时会出错而有时却没有呢?

来自分类Dev

为什么AS有时会接受大位移而有时却不接受?

来自分类Dev

为什么`find`有时会找到我的文件,有时却找不到

来自分类Dev

为什么有时在编辑文件后有时会创建重复文件?

来自分类Dev

Boost二进制序列化有时不起作用。解析的数据有时会损坏

来自分类Dev

为什么同一条SQL有时会报告错误,而有时却运行良好?

来自分类Dev

为什么此URLClassLoader有时起作用而有时却不起作用?

来自分类Dev

在Ubuntu上,为什么有时有时会“ sudo apt-get”而有时却会“ sudo aptitude”?

来自分类Dev

为什么 x-terminal-emulator 有时会在启动时退出,有时不会?

来自分类Dev

为什么来自子进程的管道有时会中断,有时不会?

来自分类Dev

为什么滚动条有时会显示在 Chrome 扩展中有时不会显示

来自分类Dev

为什么我有时会得到嵌入的属性有时不会?

Related 相关文章

  1. 1

    为什么pastespecial方法有时会引发错误1004而其他时候却不会呢?

  2. 2

    为什么整数属性有时会返回0?

  3. 3

    为什么AS有时会接受大位移而有时却不接受?

  4. 4

    为什么Clang有时会返回nullptr,有时会返回我想要的?

  5. 5

    为什么结帐有时会暂存文件?

  6. 6

    为什么ng-model有时会预先填充而有时却没有?

  7. 7

    为什么Vim有时会创建.swp文件?

  8. 8

    为什么`.asInstanceOf`有时会抛出,有时却不会抛出?

  9. 9

    为什么scipy.norm.pdf有时会使PDF> 1?怎么纠正呢?

  10. 10

    为什么我的while循环有时会卡住,而有时却不会出现在“秘密圣诞老人”程序中?

  11. 11

    为什么有时可以使用NodeJS缓冲区连接音频数据,而有时却不能呢?

  12. 12

    F#和自动转换:有时会,有时不会,其背后的原理是什么?

  13. 13

    为什么Ruby Procs有时会返回而有时却是错误?

  14. 14

    为什么jupyter有时会打印格式化的DataFrame并有时打印为文本?

  15. 15

    为什么BeautifulSoup有时会使用find_all查找所有元素,而有时却找不到?

  16. 16

    我认为我不完全了解realloc,有人可以向我解释为什么我的代码中的realloc有时会失败,但有时却不会

  17. 17

    为什么pastespecial方法有时会引发错误1004而其他时候却不会呢?

  18. 18

    为什么我有时会出错而有时却没有呢?

  19. 19

    为什么AS有时会接受大位移而有时却不接受?

  20. 20

    为什么`find`有时会找到我的文件,有时却找不到

  21. 21

    为什么有时在编辑文件后有时会创建重复文件?

  22. 22

    Boost二进制序列化有时不起作用。解析的数据有时会损坏

  23. 23

    为什么同一条SQL有时会报告错误,而有时却运行良好?

  24. 24

    为什么此URLClassLoader有时起作用而有时却不起作用?

  25. 25

    在Ubuntu上,为什么有时有时会“ sudo apt-get”而有时却会“ sudo aptitude”?

  26. 26

    为什么 x-terminal-emulator 有时会在启动时退出,有时不会?

  27. 27

    为什么来自子进程的管道有时会中断,有时不会?

  28. 28

    为什么滚动条有时会显示在 Chrome 扩展中有时不会显示

  29. 29

    为什么我有时会得到嵌入的属性有时不会?

热门标签

归档