【问题标题】:Send \n with jquery ajax使用 jquery ajax 发送 \n
【发布时间】:2010-02-07 15:39:59
【问题描述】:

我制作了一个小脚本,通过 get ajax 请求将 textarea 内容发送到 PHP 页面:

$.get('./data/pages/admin/actions.php?savepost=1','&post_id=' + $(box).attr('id') + '&text=' + new_text,'text');

new_text 使用 val() 从 textarea 获取内容;

当我从 php 保存文本时,它没有 \n 字符。 Some1 可以解决我的问题吗?谢谢

【问题讨论】:

    标签: php jquery ajax


    【解决方案1】:

    您根本没有对您的数据进行编码,因此很多事情都会发生爆炸(百分号、& 符号……)。要么在每个位上使用encodeURIComponent,要么(这更容易)让jQuery为你做:

    $.get('./data/pages/admin/actions.php?savepost=1', {
        post_id: $(box).attr('id'),
        text:    new_text
    }, 'text');
    

    有关数据参数的详细信息,请参阅the docs

    【讨论】:

    • @netcelli:很高兴,很高兴它有帮助。
    【解决方案2】:

    使用encodeURIComponent() 将换行符编码为正确的url 符号。

    【讨论】:

      【解决方案3】:

      在通过new_text 之前先尝试这样做。

      new_text.replace("\r\n","%0D%0A");
      

      【讨论】:

      • "\n" 只是 "%0A"。 “\r\n”(Windows 换行符)将是“%0D%0A”!
      • 是的...我意识到为时已晚...当我尝试编辑 SO 页面时说正在维护...叹息...
      • 无论如何,它只解决了问题的一小部分。
      猜你喜欢
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 2013-02-06
      • 2015-06-17
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 2011-12-25
      相关资源
      最近更新 更多