2017-10-18 68 views
-1

我有下面的PHP方法調用Ajax:當設置爲GET而不是POSTjQuery的崗位不工作而獲得的作品具有相同的結構

public function test(){ 
     die(json_encode(['test' => 'test1'])); 
    } 

我的AJAX調用工作。 GET調用是:

$.ajax({ 
    type: 'get', 
    url: url, 
    success: function(msg) { 
     log(msg); 
    }, 
    dataType: 'json' 
}); 

成功返回JSON元素。但是當我將它設置爲POST時:

$.ajax({ 
    type: 'post', 
    url: url, 
    success: function(msg) { 
     log(msg); 
    }, 
    dataType: 'json' 
}); 

什麼也沒有返回。如果我刪除了dataType,它將返回從其觸發的整個網頁。

我確實需要作爲POST請求,因爲我會發送大量的數據。

謝謝。

+0

你打算如何調用test()? –

+0

它是url參數的一部分,我不認爲這是問題,因爲它正在使用GET – MrCujo

+0

不。您是如何執行test()函數的?如果您正在測試GET或POST的某些內容,並根據該決定執行test(),則可能會造成問題 –

回答

1

您是否啓用CSRF保護?

+0

正如您所指出的,這是CSRF的一個問題!我將它設置爲FALSE(在此期間),它工作。我會在稍後修復它,至少我現在要收回數據。謝謝 – MrCujo

+1

You're welcolme ....問題是與CSRF再生...如果令牌得到每一次重新生成比你的Ajax不會work.I固定它通過設置csrf_regenerate爲FALSE。 –

相關問題