iT邦幫忙

0

如何在JavaScript中,加號正常顯示?

目前遇到情況在打算在JS中寫SQL select

但想要組合欄位

EX.

<Script>
function QQ(){
window.open("QQ.asp?QQselect=a+b&QQfrom=table")
}
</Script>

QQ.asp

Request("QQselect")
Request("QQfrom")

<%
sql="select " & Request("QQselect") & from "& Request("QQfrom") &"

response.write sql 
結果為 select ab from talbe
%>

但輸出出來sql JS都會把 a+b 變成 ab
請問有什麼方法讓加號變正常字串 可以輸出在SQL上?

看更多先前的討論...收起先前的討論...
a+'+'+b
dragonH iT邦大師 1 級 ‧ 2020-01-31 09:49:47 檢舉
`${a}+${b}`
applea46 iT邦新手 5 級 ‧ 2020-01-31 09:56:18 檢舉
使用過兩位的方法 但輸出結果 還是沒有辦法顯示 +號 ,我稍微把範例改接近我想要做的樣子
dragonH iT邦大師 1 級 ‧ 2020-01-31 09:57:51 檢舉
為啥是用 window,open()
applea46 iT邦新手 5 級 ‧ 2020-01-31 10:06:20 檢舉
是利用get的方式傳遞到其他頁面處理資料
fillano iT邦超人 1 級 ‧ 2020-01-31 10:07:28 檢舉
window.open()第一個參數應該是url吧,丟給他sql statement沒啥意義?
fillano iT邦超人 1 級 ‧ 2020-01-31 10:12:42 檢舉
不是js的問題,你要看看asp端。網址列上有出現+的話,就不是js的問題了。
dragonH iT邦大師 1 級 ‧ 2020-01-31 10:15:47 檢舉
對阿

用 window.open的話就跟你一開始問的差很多了

而且想用 get

應該用 axios , fetch 甚至是 jquery 才對

不對

應該說不應該用 get
淺水員 iT邦新手 1 級 ‧ 2020-01-31 19:51:28 檢舉
先不管注入的風險,一般傳值我習慣用 `encodeURIComponent` 處理
0
firecold
iT邦新手 3 級 ‧ 2020-01-31 10:17:47

你這個作法有點奇怪

你可以嘗試用ajax post參數到另外一隻asp做處理
會比你用get好很多

再來你的問題是一定會發生的
讓我們看看網址get
param=a+b

此時我們接收param肯定不會出現加號
所以看你要傳兩個還是字串或array然後自己在接收時再做處理
1.param1=a&param2=b
2.param=a,b
3.param[]=a&param[]=b

applea46 iT邦新手 5 級 ‧ 2020-01-31 10:26:43 檢舉

感謝回復 我再參考您的方法試試看/images/emoticon/emoticon02.gif

淺水員 iT邦新手 1 級 ‧ 2020-01-31 19:53:49 檢舉

只處理加號的問題,我應該會這樣吧:

function QQ(){
    var params={
        QQselect: 'a+b',
        QQfrom: 'table'
    }
    params=Object.keys(params)
                 .map(k=>`${k}=${encodeURIComponent(params[k])}`)
                 .join('&');
    window.open(`QQ.asp?${params}`);
}
0
浩瀚星空
iT邦大師 1 級 ‧ 2020-01-31 10:57:22

看完你後面新改的。

我只想說,我真的不敢再教你怎麼傳值了。
免得被注入的不要不要的。
你還是學一下正規的吧。不要再去學get傳送的原因理由了。
這樣錯誤的學習,我真的教不太下去。會覺到我再害你。

0

在JS中寫SQL select?
/images/emoticon/emoticon10.gif

0
majo2013
iT邦新手 5 級 ‧ 2020-01-31 14:31:21

我要發表回答

立即登入回答