2017-10-18 31 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。 –

相关问题