php如何處理ajax提交的表單?

來源:互聯網
上載者:User
自己做了一個項目,
使用jQuery的ajax模組發送資料到php頁面中,
php頁面使用$_POST['']接收資料,
返回的時候使用 echo json_encode($respond);
可是在ajax的success函數裡列印返回的json資料不正常。
而且跳轉也不正常,ajax是不會跳轉頁面的對吧,返回結果後,頁面跳轉一次到該頁面(重新整理)。

我是不是哪個環節出錯了?
線上等。

jQuery:

$(function(){    //登陸    $("#button_signip").click(function(){    });    //註冊    $("#button_signup").click(function(){        console.log($("#logup_inputUser").value);        $.ajax({            type: 'post',            ulr: '../service/logupBusiness.php',            async: false,            data: $("#form_signup").serialize(),            beforeSend: function () {            },            complete: function () {            },            error: function(XMLHttpRequest, textStatus, errorThrown) {                alert(XMLHttpRequest.status);                alert(XMLHttpRequest.readyState);                alert(textStatus);            },            success: function (data, textStatus) {                console.log(data);//返回的結果不正常,並不是json                console.log(textStatus);                alert(data);            }        });    });});

php商務邏輯(logupBusiness.php):

register(array("username"=>$name, "password"=>$password, "email"=>$email));    $res = $bmobUser->login($name,$password);    echo json_encode($res);//返回結果,son}catch (Exception $e){    echo $e;}

回複內容:

自己做了一個項目,
使用jQuery的ajax模組發送資料到php頁面中,
php頁面使用$_POST['']接收資料,
返回的時候使用 echo json_encode($respond);
可是在ajax的success函數裡列印返回的json資料不正常。
而且跳轉也不正常,ajax是不會跳轉頁面的對吧,返回結果後,頁面跳轉一次到該頁面(重新整理)。

我是不是哪個環節出錯了?
線上等。

jQuery:

$(function(){    //登陸    $("#button_signip").click(function(){    });    //註冊    $("#button_signup").click(function(){        console.log($("#logup_inputUser").value);        $.ajax({            type: 'post',            ulr: '../service/logupBusiness.php',            async: false,            data: $("#form_signup").serialize(),            beforeSend: function () {            },            complete: function () {            },            error: function(XMLHttpRequest, textStatus, errorThrown) {                alert(XMLHttpRequest.status);                alert(XMLHttpRequest.readyState);                alert(textStatus);            },            success: function (data, textStatus) {                console.log(data);//返回的結果不正常,並不是json                console.log(textStatus);                alert(data);            }        });    });});

php商務邏輯(logupBusiness.php):

register(array("username"=>$name, "password"=>$password, "email"=>$email));    $res = $bmobUser->login($name,$password);    echo json_encode($res);//返回結果,son}catch (Exception $e){    echo $e;}

  1. 提供你的 success 函數.

  2. 提供你後端在使用 echo json_encode($respond); 的結果.

根據你更新後的內容繼續追問:

  1. 提供 ID 為 button_signup 的這個DOM節點的HTML代碼.

  2. 提供 在請求logupBusiness.php這個PHP檔案時, 後端輸出的內容, 而不是提供你的這的這個PHP的原始碼.

不過以你目前的代碼, 猜測你的那個 button_signup 對應的可能是一個 type=submit 類型的按鈕, 然後在點了之後, 提交了表單, 然後跳走了..

那必然是某個環節出了問題,不過從你提供的資訊看不出哪裡有問題。你可以注意一下json_encode結果是否正常,js裡是否還有其他方法處理了結果。

$.ajax
success:function(callback){alert(callback)},

php:
echo json_encode($str,JSON_FORCE_OBJECT);

不貼代碼出來大家都幫不了你呢,如果比較隱私,可以貼個demo類比代碼也行,大家好幫你分析下哪裡有錯。

樓主最好把代碼貼出來

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.