在div中的codeigniter成功后,无法显示来自ajax的数据

时间:2017-02-12 07:30:22

标签: javascript php jquery ajax codeigniter

提交ajax之后我得到了数据,但是在控制台中只有数据不在codeigniter中的div这里是代码

import gzip
with gzip.open((raw_input("Enter File Name :")), 'r') as f:
     x1 = ['REBINFO', 'cocaLc']
     y1 = [False, False]
     x2 = ['dispute', 'peer', 'while', 'priority']
     y2 = [False, False, False, False]
     x3 = ['task cocaLc ASSERT failed', 'fhAssert', 'REBINFO', 'HARDREBOOT', '09.']
     y3 = [False, False, False, False, False]
     for line in f:
         for i in range(0, len(x1)):
             if (x1, x2, x3) [i] in line: #loop through x1, x2, x3 using index numbers
                 y1[i] = True
                 y2[i] = True
                 y3[i] = True

 if all(y1): #if every search string was detected, every value in y1 should be true
     print "Exception Found : " + "task cocaLc Requested reboot"
 if all(y2): #if every search string was detected, every value in y2 should be true
     print "\nException Found : " + "task tAlrmL1 Keep alive failed"
 if all(y3): #if every search string was detected, every value in y3 should be true
     print "\nException Found : task cocaLc ASSERT failed"

现在

 jQuery('#npost').submit(function(e){

        e.preventDefault();
        var formData = new FormData(this);

        var url= '<?php echo base_url("user/postData"); ?>';

        jQuery.ajax({

            type: "POST",
            url:url,
            data: formData,
            dataType: 'json',
            cache: false,
            contentType: false,
            processData: false,
            success: function(data)
            {
              console.log(data);


        jQuery("div#output_post").show();
        jQuery("div#data").html(data);

      },
            error: function(data){
            //error function
          }
       });            
    });

但这样做只会在控制台中显示成功功能不起作用的值

2 个答案:

答案 0 :(得分:0)

如果模型正在运行$post_data,那么您应该从那里返回结果吗?

当您发回从ajax调用发送的原始数据时......您无法确定$post_data=$this->Pmodel->post_data($post);是否实际正在运行...通常您会让此函数返回您想要显示的内容,并使用json_encode($post_data)

发回

jQuery("div#data").html(data);可能只输出正确的html,因为它返回的数据(从我可以看到的可能是JSON对象jQuery("div#data").text(data);应该可以工作...虽然我看不到任何与您的DOM因为视图没有显示给我们...

答案 1 :(得分:0)

我想我找到了解决方案,我需要首先在我的ajax成功中以字符串形式读取json_encode数据。所以我这样做了

成功:功能(数据)             {               var ParsedObject = JSON.stringify(data);

         var json = $.parseJSON(ParsedObject);

         json.textdata;

         $('#result_table').append(json.textdata);

  }

从而获得我想要显示的textdata的值 现在无论我想要显示它,只需将数据附加到该div。