doudi5291 2015-11-26 05:12
浏览 44
已采纳

如何在CodeIgniter中调试AJAX的非工作响应?

I want to upload photo with jquery-ajax in CodeIgniter. First I want to pass file to my controller for just check my AJAX call properly working or not. My code is not posting anything to my controller. I posting my code here, please show me my fault

Here is my code

jQuery and my input of my view is here (profile_view.php)

<script type="text/javascript">
$(document).ready(function() {
    $("#file1").on("change", (function() {
        $("#showimage").fadeIn("slow").html('');
        $("#showimage").fadeIn("slow").html('Plaese Wait...');
        alert('hello');
        $("#frm1").ajaxForm({
            target: '#showimage',
            success: function(response) {
                alert(response);
            },
            error: function(err) {
                alert(err);
            }
        }).submit();
    }));
</script>

My input code is here

<div id="photoframe">
    <form name='frm1' id="frm12" enctype="multipart/form-data" method="post" action="upload_photo">
        <input type="file" name="file1" id="file1" style="visibility:hidden" />
    </form>
    <a style="color:white"><i class="fa fa-edit" id="img1">Edit  Photo</i></a>
    <div id="showimage" name='showimage'>
    </div>
</div>

My controller is Here (upload_photo.php)

class Upload_photo extends CI_Controller {
function __construct() {
    parent::__construct();
    $this - > load - > helper(array('form', 'url'));
}
public
function index() {
    $config['upload_path'] = '/user';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '100';
    $config['max_width'] = '1024';
    $config['max_height'] = '768';
    if (isset($_POST['frm1'])) {
        echo 'Image Uploaded';
        echo "post".$_FILE['frm1'];
    } else {
        echo 'Image Upload Failed';
    }
}
}

My output is : Image Upload Failed

  • 写回答

2条回答 默认 最新

  • dongxiequ3724 2015-11-26 05:17
    关注

    I think there is problem with your request, You have not passed any data with that request, You can use following data method to pass data with ajax:-

    $.ajax({
         url: "post.php",
         data: {
            id: 123
        },
         type: "GET",
         dataType : "json",
         success: function( json ) {
            // Do your code here for success
        },
         error: function( xhr, status, errorThrown ) {
            alert( "Sorry, there was a problem!" );
        },
         complete: function( xhr, status ) {
            alert( "The request is complete!" );
        }
    });
    

    And you can not send image file with these AJAX request.

    Please change your PHP code also, something like following :-

    if (isset($_FILES['frm1'])) {
       // Do your upload code here
    }
    else
    {
        echo 'Image Upload Failed';
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度