我的jquery Ajax方法每次都会进入其他部分

Tri*_*der 0 php jquery serialization phpexcel

我的jQuery方法 -

jQuery("#upload_button").click(function(){
    var exceldata = jQuery("#upload_button").serialize();
    var url = "module/controller/contrlrmethod/exceldata/" + exceldata;
    if( exceldata != "" )
    {
        jQuery.ajax({
            url: url,
            type: 'post',
            success: function(data)
            {
                alert(data);
            }
        })
    }
    else
    {
        alert("I am in else");
    }
});
Run Code Online (Sandbox Code Playgroud)

控制器方法 -

public function contrlrmethodAction()
{
    //Get All Parameter data
    $params = $this->_getAllParams();
    echo "<pre>";print_r($params);die;
}
Run Code Online (Sandbox Code Playgroud)

我通过此按钮上传Excel Sheet upload_button.但每次进入其他部分时,我是否上传了excel.让我知道我做错了什么.我正在使用PHPExcel库来进一步处理数据,但它总是在其他部分.

bip*_*pen 7

不确定,但看起来你正在序列化按钮..

var exceldata = jQuery("#upload_button").serialize();
                        --^^^^^^----here
Run Code Online (Sandbox Code Playgroud)

它应该是你的表单ID而不是.

var exceldata = jQuery("#formID").serialize(); 
Run Code Online (Sandbox Code Playgroud)

和其他一些错误...因为你正在使用ajax post ..你可以通过data选项发送数据,无需在url中传递序列化数据.

  var url = "module/controller/contrlrmethod/exceldata/";
 jQuery.ajax({
        url: url,
        type: 'post',
        data: exceldata,  //<--here
        success: function(data)
        {
            alert(data);
        }
    })
Run Code Online (Sandbox Code Playgroud)

注意:如果您尝试使用ajax post上传文件..那么就不可能,您必须使用iframe ...或者使用其他一些ajax文件上传插件