默認情況下,JQueryUI的自動完成將空格編碼爲「+」。我的遠程源期望編碼爲「%20」。是否有可能改變空間編碼的方式?可能更改JQueryUI自動完成的空間編碼?
1
A
回答
1
的理念是:
- 使自動完成請求到服務器使用手動
$.ajax()
- 手工編寫通過替換髮送的數據「」與「%20」
- 以防止發送的數據的默認處理使用
processData: false
<input id="test">
$('#test').autocomplete
({
source: autocompleteRequest
});
function autocompleteRequest(request, response)
{
var inputString = request.term;
var preparedString = inputString.replace(/\s/g, "%20");
$.ajax({
url: "test/",
data: "str=" + preparedString,
processData: false
}).success(function(data)
{
response(data);
});
}
0
請嘗試使用encodeURIComponent方法(樣品)使一臺服務器請求之前,
參見:http://nebsolutions.blogspot.in/2012/03/jquery-autocomplete-encoding-issue.html
+1
結果是雙重編碼的東西&「邁克爾情人節」最終成爲「邁克爾%2520Valentine」 – 2014-10-03 21:47:46
0
我無法複製你的問題,但作爲ManoNamo說,你的問題很可能是現在的樣子您將數據發送到您的服務器。 encodeURI和encodeURIComponent都適合您的目的。看到一個工作示例如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/jquery-wp-content/themes/jqueryui.com/style.css">
<script>
$(function() {
var availableTags = [
"ActionScript KABAM",
"ActionScript",
];
$("#tags").autocomplete({
source: availableTags,
change: function(event, ui) {
console.dir(encodeURIComponent(ui.item.value));
console.dir(encodeURI($("input#tags").val()));
}
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
</body>
</html>
+0
這最終將雙重編碼的事物和「邁克爾瓦倫丁」結束爲「邁克爾%2520Valentine」 – 2014-10-03 21:48:12
相關問題
- 1. jQueryUI自動完成 - 編碼問題
- 2. jQueryUI自動完成
- 3. 擴展jqueryui自動完成功能
- 4. 是否可以更改JQuery的JQueryUI自動完成生成的Url?
- 5. asp.NET jqueryUI自動完成
- 6. JqueryUi自動完成問題
- 7. jQueryUI自動完成id值
- 8. jQueryUI自動完成IE5
- 9. JQueryUI自動完成篩選
- 10. JqueryUI自動完成PHP JSON
- 11. jQueryUI的自動完成功能可點擊結果
- 12. JqueryUi自動完成組合框更改不起作用
- 13. Android自動完成空間後才能完成?
- 14. 如何使jqueryui自動完成實際自動完成?
- 15. jQueryUI自動完成與MVC3:發佈自動完成值
- 16. 在jQueryUI自動完成中創建minLength異常自動完成
- 17. jQueryUI自動完成並不真正自動完成
- 18. jQueryUI的的自動完成HTML位置
- 19. 更改jQuery自動完成
- 20. jQueryUI的自動完成功能不能正常使用的IE9
- 21. 移動jQueryUI自動完成位置
- 22. 針對JQueryUI的JSON自動完成 - Rails
- 23. jQueryUI的自動完成射擊停止
- 24. JqueryUI在Rails3中的自動完成
- 25. jqueryui自動完成的建議數量
- 26. jQueryUI的自動完成:餅乾在IE9
- 27. jQueryUI的自動完成響應數據
- 28. 顯示HTML中自動完成jQueryUI的
- 29. jQueryUI的自動完成不了解JSON?
- 30. jQueryUI的自動完成不工作PHP
一個可以玩的例子會很棒。你可以在http://jsfiddle.net發佈一個例子 – 2014-09-29 17:54:20
@Vega:默認情況下,並不確定它需要一個,因爲JQuery-UI的自動完成將空格編碼爲'+'。 – 2014-09-29 18:28:02
如果您使用'source:「http://example.com/」',嘗試使用'source:function(request,successCallback){$ .ajax(...)。done( successCallback); }'。 – Regent 2014-09-30 10:36:14