【问题标题】:Using purely jQuery AJAX in cakePHP 1.3在 cakePHP 1.3 中使用纯 jQuery AJAX
【发布时间】:2012-10-21 12:44:27
【问题描述】:

我正在使用 cakePHP 1.3,并希望在我的搜索视图中使用 AJAX 到我的控制器中的搜索操作。我正在使用原型和 scriptaculous,它工作正常,但需要使用纯 jQuery。

搜索动作基本如下:

    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->data 可以使用“data”变量的最佳方法是什么?我用类似的问题检查了其他线程,但无法看到如何做到这一点。

谢谢!

【问题讨论】:

    标签: php jquery ajax cakephp-1.3


    【解决方案1】:

    将其作为 POST(请参阅 http://api.jquery.com/jQuery.post/)或 url_encode(谷歌“javascript url 编码”)字符串发送并将其附加到 url。不确定哪个更好,两者都应该可以工作并且易于实施。

    【讨论】:

    • 这无疑将我引向了正确的方向。主要问题是我定义 var data = searchString; 的方式当它应该更像是:var data = {'data[Event][search]':searchString};,但是你的解决方案让我找到了我的问题,并通过使用 $.post 提供了一种更优雅的解决方案() 而不是 $.ajax()。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-05-21
    • 2011-05-20
    • 2012-04-05
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多