RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1438113
Accepted
Andy_bat
Andy_bat
Asked:2022-08-10 21:22:35 +0000 UTC2022-08-10 21:22:35 +0000 UTC 2022-08-10 21:22:35 +0000 UTC

如何通过 Ajax 传递多个参数

  • 772

我无法克服,我转向社区。有一个模板,我在其中通过str_replace()插入必要的参数

$output = "<div class='row'><KEYONE></div>"; //шаблон
$one_key = '<div class="card text-bg-secondary" style="width: 10rem;margin: 10px;padding: 0">'
  .'<div class="card-header form_radio_btn" style="padding: 0;height: 40px;display: block"><span class="form_radio_btn" title="<KEYTITLE>" style="">'
  .'<input id="radio-<KEYNUM>" type="radio" name="radio" value="<HEXKEY>"><label for="radio-<KEYNUM>"><KEY></label></span></div>'
  .'<div class="card-body" style="display: table-row;margin: 0;padding: 0">'
  .'<div id="key-<KEYNUM>" style="width: 90px;height: 50px;float:left;text-align: center;margin: 2px 0 0 0;color: #cbcbcb"><i class="fa fa-key fa-3x"></i></div>'
  .'<button id="btnGroupVerticalDrop-<KEYNUM>" type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown" style="float: right"></button>'
  .'<ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop-<KEYNUM>" >'
  .'<li><a class="dropdown-item ajax-inc" data-global=\'{"ajroute":"task_info_key","key":"<KEYNUM>"}\'  href="#" >Информация по ключу</a></li>'
  .'<li><a class="dropdown-item ajax-inc" href="#">Сброс ключа</a></li>'
  .'</ul></div></div>';
$one_key = str_replace("<KEY>","123456",$one_key);
$one_key = str_replace("<KEYNUM>","123456",$one_key);
$one_key = str_replace("<HEXKEY>","abcdef",$one_key);
$output = str_replace("<KEYONE>",$one_key,$output);
echo $output;

一切正常,菜单扩展。我需要通过 Ajax 更新键列表,因为这个块通过按键数显示单个元素来“相乘”。我无法通过 Ajax “推动”复杂的数据全局构造(如果删除它,则一切正常)。我强调——这个块是通过替换来显示的。试图改变引号,逃避 - 没有帮助。

错误 - Uncaught SyntaxError: missing ) 在参数列表 Ajax 本身之后:

"$('#keylist').html('<div class=\"card text-bg-secondary\" style=\"width: 10rem;margin: 10px;padding: 0\"><div class=\"card-header form_radio_btn\" style=\"padding: 0;height: 40px;display: block\"><span class=\"form_radio_btn\" title=\"версия микропрограммы: 16778249\" style=\"\"><input id=\"radio-1065509103\" type=\"radio\" name=\"radio\" value=\"3f8260ef\"><label for=\"radio-1065509103\"><b>3f8260ef</b></label></span></div><div class=\"card-body\" style=\"display: table-row;margin: 0;padding: 0\"><div id=\"key-1065509103\" style=\"width: 90px;height: 50px;float:left;text-align: center;margin: 2px 0 0 0;color: #cbcbcb\"><i class=\"fa fa-key fa-3x\"></i></div><button id=\"btnGroupVerticalDrop-1065509103\" type=\"button\" class=\"btn dropdown-toggle\" data-bs-toggle=\"dropdown\" style=\"float: right\"></button><ul class=\"dropdown-menu\" aria-labelledby=\"btnGroupVerticalDrop-1065509103\" ><li><a class=\"dropdown-item ajax-inc\" data-global='{\"ajroute\":\"task_info_key\",\"key\":\"1065509103\"}'  href=\"#\" >Информация по ключу</a></li><li><a class=\"dropdown-item ajax-inc\" href=\"#\">Сброс ключа</a></li></ul></div></div><div class=\"card text-bg-secondary\" style=\"width: 10rem;margin: 10px;padding: 0\"><div class=\"card-header form_radio_btn\" style=\"padding: 0;height: 40px;display: block\"><span class=\"form_radio_btn\" title=\"версия микропрограммы: 16778245\" style=\"\"><input id=\"radio-1065510441\" type=\"radio\" name=\"radio\" value=\"3f826629\"><label for=\"radio-1065510441\"><b>3f826629</b></label></span></div><div class=\"card-body\" style=\"display: table-row;margin: 0;padding: 0\"><div id=\"key-1065510441\" style=\"width: 90px;height: 50px;float:left;text-align: center;margin: 2px 0 0 0;color: #cbcbcb\"><i class=\"fa fa-key fa-3x\"></i></div><button id=\"btnGroupVerticalDrop-1065510441\" type=\"button\" class=\"btn dropdown-toggle\" data-bs-toggle=\"dropdown\" style=\"float: right\"></button><ul class=\"dropdown-menu\" aria-labelledby=\"btnGroupVerticalDrop-1065510441\" ><li><a class=\"dropdown-item ajax-inc\" data-global='{\"ajroute\":\"task_info_key\",\"key\":\"1065510441\"}'  href=\"#\" >Информация по ключу</a></li><li><a class=\"dropdown-item ajax-inc\" href=\"#\">Сброс ключа</a></li></ul></div></div>')"
php ajax
  • 1 1 个回答
  • 30 Views

1 个回答

  • Voted
  1. Best Answer
    pgood
    2022-08-11T15:20:24Z2022-08-11T15:20:24Z

    在 Javascript 中,您有一个带有单引号的 HTML 代码的字符串,同时 data-global 属性也使用了单引号,它们没有被转义,因此它们破坏了 Javascript 代码。为了更容易,我建议在 PHP 中使用缓冲,如下所示:

    <?php
    
    ...
    
    ob_start();
    ?>
    <script>
    $('#keylist').html('<div class="card text-bg-secondary" style="width: 10rem;margin: 10px;padding: 0">\
        <div class="card-header form_radio_btn" style="padding: 0;height: 40px;display: block">\
            <span class="form_radio_btn" title="версия микропрограммы: 16778249" style="">\
                <input id="radio-1065509103" type="radio" name="radio" value="3f8260ef">\
                <label for="radio-1065509103"><b>3f8260ef</b></label>\
            </span>\
        </div>\
        <div class="card-body" style="display: table-row;margin: 0;padding: 0">\
            <div id="key-1065509103" style="width: 90px;height: 50px;float:left;text-align: center;margin: 2px 0 0 0;color: #cbcbcb">\
                <i class="fa fa-key fa-3x"></i>\
            </div>\
            <button id="btnGroupVerticalDrop-1065509103" type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown" style="float: right"></button>\
            <ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop-1065509103" >\
                <li><a class="dropdown-item ajax-inc" data-global=\'{"ajroute":"task_info_key","key":"1065509103"}\' href="#" >Информация по ключу</a></li>\
                <li><a class="dropdown-item ajax-inc" href="#">Сброс ключа</a></li>\
            </ul>\
        </div>\
    </div>\
    <div class="card text-bg-secondary" style="width: 10rem;margin: 10px;padding: 0">\
    <div class="card-header form_radio_btn" style="padding: 0;height: 40px;display: block">\
        <span class="form_radio_btn" title="версия микропрограммы: 16778245" style="">\
            <input id="radio-1065510441" type="radio" name="radio" value="3f826629">\
            <label for="radio-1065510441"><b>3f826629</b></label>\
        </span>\
    </div>\
    <div class="card-body" style="display: table-row;margin: 0;padding: 0">\
        <div id="key-1065510441" style="width: 90px;height: 50px;float:left;text-align: center;margin: 2px 0 0 0;color: #cbcbcb">\
            <i class="fa fa-key fa-3x"></i>\
        </div>\
        <button id="btnGroupVerticalDrop-1065510441" type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown" style="float: right"></button>\
        <ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop-1065510441" >\
            <li><a class="dropdown-item ajax-inc" data-global=\'{"ajroute":"task_info_key","key":"1065510441"}\'  href="#" >Информация по ключу</a></li>\
            <li><a class="dropdown-item ajax-inc" href="#">Сброс ключа</a></li>\
        </ul>\
    </div>');
    </script>
    <?php
    
    $strHtml = ob_get_clean();
    

    这将使调试更容易并立即查看错误所在。

    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5