我在控制台上收到此错误消息:
var dataString = \'search=\'+ searchid;
以下脚本:
$(function(){
$(".search").keyup(function() {
var searchid = $(this).val();
var dataString = \'search=\'+ searchid;
if(searchid!=\'\') {
$.ajax({
type: "POST",
url: "classes/search.php",
data: dataString,
cache: false,
success: function(html) {
$("#result").html(html).show();
}
});
}
return false;
});
});
那里有什么问题?
答案 0 :(得分:2)
在这种情况下无需转义引号:
var dataString = 'search=' + searchid;
如评论所述,下一行也存在问题。删除斜杠。
答案 1 :(得分:-1)
我认为当用户输入文本时你想向某个地方发出请求。
所以在这种情况下甚至:var dataString = 'search='+searchid;
也无济于事,因为它需要被urlencoded(如果有一些字符,例如:&
打破了参数列表?)
所以我建议做以下操作,让jquery处理所有内容:
$(function(){
$(".search").keyup(function() {
// post or get
$.post(
'/url/to/search',
{search: $(this).val()},
function(response) {
//here You handle response
});
});
});
以下是修复:
$(function() {
$('input.search').keyup(function() {
if($(this).val() == '') {
return; // if search query is empty don't proceed down
}
$.post(
'classes/search.php',
{search: $(this).val()},
function(response) {
$('#result').html(response).show();
});
});
});