Javascript jQuery AJAX post数据由于在laravel中的路由而丢失
我正在尝试使用ajax将ID传递给PHP脚本。当使用以下各项时,它工作正常:Javascript jQuery AJAX post数据由于在laravel中的路由而丢失,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,我正在尝试使用ajax将ID传递给PHP脚本。当使用以下各项时,它工作正常: var baseURL = '/W4W/public/'; function voteUp(){ var snippetID = document.getElementById('snippetID').innerHTML; voteThing('vote_up', snippetID); } function voteThing(URL, snippetID){ $.ajax({ type: "P
var baseURL = '/W4W/public/';
function voteUp(){
var snippetID = document.getElementById('snippetID').innerHTML;
voteThing('vote_up', snippetID);
}
function voteThing(URL, snippetID){
$.ajax({
type: "POST",
url: URL,
data: {codesnip_id: snippetID},
success: function(data) {
$.ajax({
type: "POST",
url: "updateVotes",
data: {codesnip_id: snippetID}
success: function(data1) {}
});
}
});
}
PHP路由和PHP脚本:
Route::post('codesnippet/{codesnip_id}/vote_up', array('uses' => 'VoteController@votedUp'));
public function votedDown($codesnip_id){
// Some irrelevant code for this issue
}
但当我使用以下路线时:
Route::post('vote_down', array('uses' => 'VoteController@votedDown'));
以及以下javascript:
function voteDown(){
var snippet_ID = document.getElementById('snippetID').innerHTML;
URLS = baseURL + 'vote_down';
voteThing(URLS, snippet_ID);
数据永远不会到达PHP脚本。我得到以下错误:
}
所以我猜我在路由上做错了什么,导致了数据丢失。但是我不知道它可能是什么。也无法在任何地方找到和详细说明数据到达您的php脚本,因为您的php脚本引发异常 您的vote_down函数需要参数$codesnip_id
votedDown($codesnip_id)
但在你的路线上,你并没有像投票那样通过任何争论
因此,取而代之的是从发布的formdata中获取$codesnip_id,因为ajax将数据作为发布数据而不是url的一部分传递
votedDown() {
$codesnip_id=$_POST['codesnip_id'];
...
}
这是您的
votedDown
方法
public function votedDown($codesnip_id){
// Some irrelevant code for this issue
}
根据错误消息,您没有传递所需的参数,因此使用url
作为url中的第二个参数传递参数,如下所示:
var snippet_ID = document.getElementById('snippetID').innerHTML;
URLS = baseURL + 'vote_down/' + snippet_ID;
voteThing(URLS);
在这种情况下,路线应为:
Route::post('vote_down/{id}', array('uses' => 'VoteController@votedDown'));
或者,您可以在现在传递时将其传递到POST
,但从方法中删除$codesnip\u id
,因此它可以是:
public function votedDown(){
$codesnip_id = Input::get('snippet_ID');
}
在这种情况下,
snippet\u ID
应该类似于'snippet\u ID='+snippet\u ID
URL的值是多少?
public function votedDown(){
$codesnip_id = Input::get('snippet_ID');
}