這段代碼中有很多東西看起來「關閉」,我將在下面介紹這些代碼。
這段代碼在做什麼?
它看起來像一些基本的功能,可能被用來建立一個搜索查詢字符串,傳遞到一些AJAX請求,將搜索服務器上的東西。
基本上,您需要構建一個看起來像search={your-search-term}
的字符串,在發佈到服務器時,搜索字詞{your-search-term}
可以很容易地識別並用於搜索。
注意到代碼問題
如前所述,還有,你可能要考慮改變一些問題:
- 轉義引號的使用(即
\'
) - 真的你不因爲它們不存在於現有的字符串中,所以不需要這些。既然你只是建立一個字符串,只需用一個正常的'
代替它們。如果不瞭解更多有關完整情景的信息,很難就此進一步提供建議。
- 檢查字符串長度 - 現有的代碼再次檢查,如果
searchId
是一個空字符串,但您可能要考慮檢查長度,看它是否通過searchId.length != 0
就是空的,你也可以修剪這個問題,以及(即searchId.trim().length != 0
)。
- 考慮延遲(可選) - 目前,您每次按下某個按鍵時都會執行當前代碼,根據您的需要它可能是好的(或不好的)。如果您打算訪問服務器,您可能會考慮在代碼中添加延遲,以確保用戶在點擊服務器之前停止鍵入。
你可以看到一些變化在註釋的代碼片斷如下實施的:
// This is a startup function that will execute when everything is loaded
$(function() {
// When a keyup event is triggered in your "search" element...
$(".search").keyup(function() {
// Grab the contents of the search box
var searchId = $(this).val();
// Build a data string (i.e. string=searchTerm), you didn't previously need the
// escaping slashes
var dataString = 'search=' + searchId;
// Now check if actually have a search term (you may prefer to check the length
// to ensure it is actually empty)
if(searchId.length != 0) {
// There is a search, so do something here
}
}
}
被其他腳本或服務器端語言該輸出代碼?它看起來像整個代碼可能會寫在某處的文本文字 - 如果是這種情況,並且單引號用作字符串分隔符,那麼它內部的單引號需要以這種方式逃脫。 – CBroe