我有以下的Ajax調用:jQuery的阿賈克斯成功函數從來沒有所謂
$.ajax({
type: 'POST',
url: myBaseUrl + 'Products/addItemToBasket',
dataType: 'json',
data: {
id: window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1),
amount: amount
},
success: function (data) {
alert(data);
var dat = JSON.parse(data);
}
}
});
現在這個調用PHP下面的方法:
public function addItemToBasket()
{
if ($this->request->is('post')) {
//todo delete efter at have insat fancybox med valg af antal styk. (sendes via ajax).
$shopping = null;
$item = $this->Product->find('first',array('conditions' => array('Product.id' =>$this->request->data['id'])));
if(isset($_SESSION['basket'])){
$shopping = $_SESSION['basket'];
}else{
$shopping = array();
}
array_push($shopping,$item);
$_SESSION['basket'] = $shopping;
echo json_encode($_SESSION['basket']);
}
}
當我嘗試調試它一切正常(它進入php函數)並更新我的$_SESSION
變量。
但它永遠不會運行成功功能,它永遠不會提醒數據。
我在做什麼錯了?
你應該回應'json_encode。 。 。?? – 2013-10-18 19:00:57
您對this-> request->的使用是('post')讓我相信這是一個cakephp應用程序。如果是這樣,那麼只是一個回聲不會轉儲輸出,你將不得不在相關的視圖中輸出這個。也可以用cakephp來標記這可能也有幫助。 – jhnlsn
如果你只是提醒(「測試」)或設置斷點?你確定它沒有進入成功功能嗎? –