Выдает ошибку сервера 500
Ajax:
jQuery(document).ready(function($) {
$(document).on('change', '#menu_order', function(event) {
var plugin_url = $(this).data('url'),
product_id = $(this).data('product-id'),
product_new_menu_order = $(this).val();
jQuery.post(
plugin_url,
{
'action': 'update_product',
'data': {
// 'action': 'update_product',
'product_id': product_id,
'product_new_menu_order': product_new_menu_order,
},
},
function(response){
alert('The server responded: ' + response);
}
);
});
});
И сам update:
$product_id = $_POST['product_id'];
$product_new_menu_order = $_POST['product_new_menu_order'];
function update_product() {
$product = array(
'ID' => $product_id ,
'menu_order' => $product_new_menu_order,
);
wp_update_post( $product );
wp_die();
}
add_action('wp_ajax_update_product', 'update_product');
add_action('wp_ajax_nopriv_update_product', 'update_product');
Вот, в файл апдейта заходит, принимает нужные данные, id поста, и новый порядок. Вот только хуки не отрабатывают, не позволяют обновить продукт, ошибка сервера 500.
Как исправить?
Перенесите инициализацию переменных $product_id
и $product_new_menu_order
в тело функции update_product()
. Значения post-переменных передаются ajax-ом непосредственно в функцию update_product()
.
Переменной plugin_url
в вашем ajax запросе должно быть присвоено значение http://url-вашего-сайта/wp-admin/admin-ajax.php
, так как именно там находится обработчик AJAX.
Вместо wp_die()
лучше использовать wp_send_json_success()
и wp_send_json_error()
.
Исправьте сам ajax-запрос:
jQuery.post(
plugin_url,
{
action: 'update_product',
product_id: product_id,
product_new_menu_order: product_new_menu_order
},
function(response){
alert('The server responded: ' + response);
}
);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Ребят есть ошибка которая все ломает ,после того как она выдалась то все все остальные скрипты отпадают как это исправить ?Ребят очень нужна...
Всем приветУ меня есть элемент, свойство которого изменяется при нажатии на пользователем на определенную кнопку
можно ли в selenium ide написать javascript код? если да то как (пример), если нет то как отправить post запрос в selenium ide?