如何在javascript中以URL形式发送参数

How to send parameter as URL in javascript

本文关键字:参数 URL javascript 中以      更新时间:2024-02-13

这是我的javascript代码:

onClick="buyWineNew1('+urlmerchant+','+merchantId+','+wineID+');"

抛出此错误:

参数列表后缺少SyntaxError:)buyWineNew1(or.org或.net,1,1)-----------------^

此处参数为urlmerchant、merchantId、wineID

单击buyWineNew1时,在参数列表后显示错误为->SyntaxError:missing)buyWineNew1(or.org或.net,1,1)

这是假设您通过构建字符串来添加onclick。又名

var str = '<a href="" onclick="" ...

您没有将字符串用引号括起来。

onClick="buyWineNew1('+urlmerchant+','+merchantId+','+wineID+');"

需要

onClick="buyWineNew1('''+urlmerchant+''','+merchantId+','+wineID+');"
                     ^^               ^^

注意'',其中'正在转义',因此不会将其视为正在关闭字符串。现在,如果任何值包含"',则代码也将中断。这就是为什么以内联方式添加事件是个坏主意,而以不引人注目的方式添加事件则是个好主意。

function addslashes(string) {
    return string.replace(/''/g, '''''').
        replace(/'u0008/g, '''b').
        replace(/'t/g, '''t').
        replace(/'n/g, '''n').
        replace(/'f/g, '''f').
        replace(/'r/g, '''r').
        replace(/'/g, '''''').
        replace(/"/g, '''"');
}

使用上面的函数并在传递之前添加斜线。