2017-01-17 84 views
1

Javascript正在工作,當我訪問histories/history時。 alert顯示'succes'。如果可以,請你幫助我。無法從CakePHP 3的AJAX請求中獲取數據

function sendFPost(){ 
    var hello = "Hello World"; 
    $.ajax({ 
     type: 'POST', 
     url: '/untitled/histories/history', 
     data: hello, 
     dataType: 'html', 
     success: function() { 
      alert('success'); 
     }, 
     error: function() { 
      alert('error'); 
     } 
    }); 
} 

sendFPost(); 
public function history() 
{ 
    print_r($this->request->data); 
} 
+1

檢查這個http://stackoverflow.com/questions/20327049/how-to-retrieve-data-sent-by-ajax- in-cakephp – M14

+0

嘗試:data:'hello'開始,然後嘗試發送一個JSON,就像M14的鏈接建議。 – cornelb

回答

0

我想使用JSON請求建議:

Ajax請求:

function sendFPost(){ 
var name = 'abc'; 
var email = '[email protected]'; 
var phone = 1234; 
$.ajax({ 
    type: 'POST', 
    url: '/untitled/histories/history.json', // json request 
    data: "name="+name+"&email="+email+"&phone="+phone, 
    dataType: 'html', 
    success: function (response) { 
     console.log(response); 
    }, 
    error: function() { 
     alert('error'); 
    } 
}); 
} 
sendFPost(); 

在控制器:

public function history() 
{ 
    if($this->request->is('post')) { 
    $data = $this->request->data; 
    $this->set([ 
     'data'=>$data, 
     '_serialize'=>'data' // this will appear within success of ajax 
    ]); 
    } 
} 

如果您以前沒有做過,則可能需要在路由中啓用json擴展。

詳情:

https://book.cakephp.org/3.0/en/development/rest.html

https://book.cakephp.org/3.0/en/views/json-and-xml-views.html#jsonp-responses

+0

非常感謝您的回答)它幾乎解決了我的問題,但我必須將我的JS變量的值發送給PHP並對其進行一些操作。你能再幫我一次嗎? –

+0

我已經解決了。非常感謝你)) –

+0

我認爲你已經做到了這一點,但我仍然更新了答案。 –