0
我正在使用cakePHP 1.3,並希望使用AJAX從我的搜索視圖到我的控制器中的搜索操作。我使用原型和scriptaculous,它工作正常,但需要使用純粹的jQuery。在cakePHP中使用純粹的jQuery AJAX 1.3
搜索行動基本上看起來如下:
public function search() {
if (empty($this->data)) {
} else {
$request = $this->data;
$this->set('data', $this->Event->search($request['Event']['search']));
}
}
的看法目前是這樣的:
<script type="text/javascript">
$(function() {
$(".search_button").click(function() {
var searchString = $("#search_box").val();
var data = searchString;
if(searchString) {
$.ajax({
type: "POST",
url: "/events/search",
data: data,
beforeSend: function(html) { // this happens before actual call
$("#results").html('');
$("#searchresults").show();
$(".word").html(searchString);
},
success: function(html){ // this happens after we get results
$("#results").show();
$("#results").append(html);
}
});
}
return false;
});
});
</script>
<div id='container'>
<h1>Corporate Events</h1>
<form method="post" action="search">
<input type="text" name="search" id="search_box" class='search_box'/>
<input type="submit" value="Search" class="search_button" /><br />
</form>
<div id="searchresults">Search results :</div>
<ul id="results" class="update">
是什麼使「數據」變量可以被$ this->最好的辦法控制器中的數據?我用類似的問題檢查了其他線程,但無法看到如何執行此操作。
謝謝!
這無疑使我朝着正確的方向前進。主要問題是我定義var data = searchString的方式;當它應該是更類似於:var data = {'data [Event] [search]':searchString} ;,但是您的解決方案導致我找到我的問題,並提供了一種更優雅的解決方案,通過使用$ .post ()而不是$ .ajax()。謝謝! – Lee