我有一个简单的问题。我是jQuery的新手,我研究了关于这个问题的stackoverflow文件,以寻找没有成功的答案。下面的函数接受一个参数'search_term',在成功页面上做一些事情,然后重新加载一个文件,其中$_POST['id']意味着返回search_term的值。如果search_term是整数......,则此操作非常有效但在我的网站上,它将永远是一个字符串。如果我设置$search_term = "hi",控制台的错误是:
ReferenceError: hi is not defined
我已经尝试在两个数据参数周围引号。显然,这是我的语法问题,如果这是一个字符串(我假设)。任何建议都会很有帮助。我尝试了jQuery文档,但似乎没有一个例子与我的完全一样,所以运气不好。记住,我是新手。
function most_recent_search(search_term){
$.ajax({
url: '../ajax/success_page.php',
type: 'post',
data: {
'search_term':search_term,
},
success: function(html) {
$('.thread_holder').load('search_thread_holder.php', {id: search_term});
}
});
return false;
}
HTML: <ul>
<li>
<a href="#tabs-2" onclick="most_recent_search(<?php echo $search_term;?>)">Most recent</a>
</li>
</ul>
可能你漏掉了引号:
<li><a href="#tabs-2" onclick="most_recent_search('<?php echo $search_term;?>');">Most recent</a></li>
否则它会像这样调用:
most_recent_search(hi);
所以hi是undefined
查看生成的html源代码,您将看到如下内容:
<a href="#tabs-2" onclick="most_recent_search(hi)">Most recent</a>
你真正想要的是:
<a href="#tabs-2" onclick="most_recent_search('hi')">Most recent</a>
所以你缺少一组括括echo语句的引号
<a href="#tabs-2" onclick="most_recent_search('<?php echo $search_term;?>')">Most recent</a>