[英]Passing strings having special characters
我正在嘗試傳遞帶有空格和特殊字符的字符串,但是它出現錯誤並且沒有任何作用。 例如
<img onclick='addKeyword("celebritynews&gossip");' src="images/plus.png" >
但是字符串celebritynews&gossip中的'&'破壞了代碼。
我發現問題出在addKeyword
函數中,我使用以下代碼定義了一個名為url的變量,
function addKeyword(categoryId){
var url = "addKeyword.php?uid=" + user_id + "&categoryId=" + categoryId + "&keyword=" + $("#keyword_" + categoryId).attr("value");
}
並且$(“#keyword_” + categoryId)引起了問題。 有什么辦法解決嗎?
假設您要在URL上傳遞字符串,則參數值需要進行URL編碼。
...摘要編輯...
&
被解釋為HTML,並且必須經過HTML編碼,尤其是&
HTML
<img onclick='addKeyword("celebritynews&gossip");' src="images/plus.png" />
JavaScript的
使用encodeURIComponent。
var url = "addKeyword.php?uid=" + encodeURIComponent(user_id) + "&categoryId=" + encodeURIComponent(categoryId) + "&keyword=" + encodeURIComponent($("#keyword_" + categoryId).attr("value"));
嘗試
<img onclick="addKeyword('<?php echo htmlspecialchars('celebritynews&gossip'); ?>')" src="images/plus.png" >
假設您正在將此文本寫入頁面,則可以使用htmlspecialchars
確保在HTML中正確轉義了該文本。
例如:
<?php echo htmlspecialchars("celebritynews&gossip"); ?>
有幫助嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.