在JavaScript中以查询参数作为函数参数传递URL

在JavaScript中以查询参数作为函数参数传递URL,javascript,Javascript,我有一个URL,看起来像 https://go.feeds4.com/merchants/?pid=1676&mid=4261 如何将其作为函数参数传递。我试图传递值,但无法在函数中获取任何内容 查询参数中的和是否会导致问题 HTML 我没有看到任何显示URL值的警报。请帮助。您有两个问题: 将数据放入HTML文档时,必须将其编码为HTML,而不是从HTML解码 属性值包含某些字符(如引号)时需要引用 将字符串混合在一起以生成JavaScript文本容易出错且混乱,所以您也应该避免手工操作 因此

我有一个URL,看起来像

https://go.feeds4.com/merchants/?pid=1676&mid=4261

如何将其作为函数参数传递。我试图传递值,但无法在函数中获取任何内容

查询参数中的
是否会导致问题

HTML

我没有看到任何显示URL值的警报。请帮助。

您有两个问题:

  • 将数据放入HTML文档时,必须将其编码为HTML,而不是从HTML解码
  • 属性值包含某些字符(如引号)时需要引用
  • 将字符串混合在一起以生成JavaScript文本容易出错且混乱,所以您也应该避免手工操作

    因此:

    
    onclick=“)”>
    
    onclick函数不在
    下。我正在用PHP进行htmlspecialchars\u编码,因为url正在显示&;而不是&@GauravMehta-它应该显示
    &。浏览器在解析HTML时会对其进行解码。先生,你真是个天才。谢谢你的帮助。
    
    <a href="javascript:;"
       onclick=rendernewmodal(<?php echo '"'.htmlspecialchars_decode($merchant->affiliate_link).'"'; ?>);>
      <i class="fa fa-angle-right" aria-hidden="true"></i>
    </a>
    
    <a href="javascript:;"
       onclick=rendernewmodal("https://go.feeds4.com/merchants/?pid=1676&mid=4261");>
    
    function rendernewmodal(url) {
      alert (url);
    }
    
    <?php
        # Get the URL
        $url = $merchant->affiliate_link;
    
        # Put quotes around it and escape special characters for JS
        $url_as_js_string_literal = json_encode($url);
    
        # Put it in the rest of the JS
        $js_function_call = "rendernewmodal($url_as_js_string_literal);";
    
        # Escape special characters for HTML
        $html_safe_js = htmlspecialchars($js_function_call);
    ?>
    onclick="<?php echo $html_safe_js; ?>)">