#javascript #php #jquery #ajax #laravel-4
#javascript #php #jquery #ajax #laravel-4
Вопрос:
. Привет всем. Я пытаюсь собрать несколько переменных и отправить их на свой контроллер. Я продолжаю получать ошибку 500 и не могу понять, где именно я ошибаюсь, кроме того, что я уверен, что на стороне сервера. Любые указания о том, где я ошибся, или лучшие практики будут с благодарностью! Большое вам спасибо!
Маршрут:
/*Ajax Edit Price on Price Page*/
Route::post('edit_price', array(
'as' => 'edit_price',
'uses' => 'PriceController@edit_price'
));
Контроллер:
public function price_edit(){
console.log($id_and_db);
}
JS:
/*Ajax edit prices*/
$(document).ready(function(){
$('.edit_button').click(function(e){
e.preventDefault();
var id_and_db = $(this).prop('name').replace('edit', 'newprice'),
new_price = $('[name=' id_and_db ']').val();
$('#test').val(id_and_db);
$.ajax({
url: 'edit_price',
type: "POST",
data: {
"id_and_db": id_and_db,
"new_price": new_price,
},
success: function(data){
$("#edit_results").html(data);
$("#edit_results").addClass('panel callout radius');
console.log(data);
},
error: function(xhr, status, error){
console.log(xhr);
console.log(status);
console.log(error);
},
});
});
});
Сообщение об ошибке:
POST http://localhost/local/example/public/edit_price 500 (Internal Server Error) jquery.min.js:4
XHR finished loading: POST "http://localhost/local/example/public/edit_price". jquery.min.js:4
Object {readyState: 4, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…}
price_index_admin.js:40
error price_index_admin.js:41
Internal Server Error
Ответ №1:
Ты это сделал
'uses' => 'PriceController@edit_price'
но ваш метод контроллера price_edit()
.
Попробуйте изменить метод вашего контроллера на
public function edit_price() {
Комментарии:
1. @gv0029 Небольшие ошибки могут быть действительно болезненными для поиска, не так ли? : D Добро пожаловать!
2. Да, я продолжаю думать, что я, должно быть, что-то не понимаю в реальном ajax и забываю, что опечатки так же смертельны.
Ответ №2:
Это недопустимо для контроллера — похоже, вы пытаетесь запустить java внутри php:
public function price_edit(){
console.log($id_and_db);
}
это должно быть что-то вроде этого
public function price_edit(){
return Response::json(['your response here']);
}
Комментарии:
1. Я просто пытался выполнить некоторую отладку. Все еще получаю ошибку 500, когда я пытаюсь это сделать, но все же спасибо.