自己做了一個項目,
使用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;}
提供你的 success
函數.
提供你後端在使用 echo json_encode($respond);
的結果.
根據你更新後的內容繼續追問:
提供 ID 為 button_signup
的這個DOM節點的HTML代碼.
提供 在請求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類比代碼也行,大家好幫你分析下哪裡有錯。
樓主最好把代碼貼出來