【问题标题】:Codeigniter Load a view using post and ajaxCodeigniter 使用 post 和 ajax 加载视图
【发布时间】:2013-08-30 13:35:06
【问题描述】:

我有这个 ajax 代码:

$("#comparar").click(function() {
    var oTable = $('#propiedades').dataTable();
    var sData = $('input', oTable.fnGetNodes()).serialize();
    console.log(sData);
    $.ajax({
        type : "POST",
        url : "/zcms/comparar/propiedades",
        data : sData,
        dataType: 'json',
        success: function(){
         $('#profitSignal').modal('hide');
        // window.location="http://btsignals.com/index.php/zcms/performance";
         }
    });
    // cierra ajax contactG

    return true;
});

这是我的控制器:

function propiedades()
{
    $data['title'] = 'Comparar Propiedades';
    $data['properties1'] = $this -> zcms_properties_model -> get_property_comparativa();

    $data['main_content'] = 'zcms/comparativa';
    $propertiesdetalle = $data['properties1'];


    //$this->output->enable_profiler(TRUE);
    $this -> load -> view('zcms/template', $data);
}

正在工作,但我可以看到视图,但我可以在萤火虫的响应中看到页面这里是图像

请原谅我的英语,

【问题讨论】:

  • “正在工作,但我可以看到视图,但我可以看到页面” - 哪里不能?另外,我没有看到您对 $.ajax 调用中的响应做任何事情。 success: function(_response_){
  • 你在 ajax 成功回调中什么也没做?
  • 不,因为控制器正在执行操作,但没有借出视图
  • 再次原谅我的英语。
  • PHP 控制器与您的 AJAX 调用完全无关。不要将 JavaScript 的 jQuery "$" 误认为 PHP 的 "$"。您可以看到的“页面”是来自 PHP(服务器)的 HTML 响应。您有责任处理它。我建议将“响应”参数添加到您的 success 回调中。然后您可以$('body').append(response); 为例。

标签: php jquery ajax codeigniter


【解决方案1】:

thanx Sergiu Paraschiv 改变了我的成功

       success: function(data){
    if(data)
$("body").html(data);
}

这样就行了,谢谢你指引我正确的方向

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多