Здравствуйте, помогите решить ошибку json
Добрый день я отправляю запрос на то, чтобы данные записывались в бд, но это не происходит и выводит ошибку.
if (isset($_GET["id"]) && isset($_GET["price"]) ) {
$wpdb->insert(
'yl_paid_info',
array('user_id' => $_GET["id"], 'price' => $_GET["price"], 'start_date' => date("m.d.y"), 'end_date' => $first_str),
array('%d', '%d', '%s', '%s')
);
$result = array(
'name' => $_GET["id"],
'phonenumber' => $_GET["price"]
);
}
jQuery(document).ready(function($){
/* Article FructCode.com */
$( document ).ready(function() {
$("#btn").click(
function(){
sendAjaxForm('result_form', 'ajax_form', '<?php echo plugins_url('paid-subscription/paid-new.php')?>');
return false;
}
);
});
function sendAjaxForm(result_form, ajax_form, url) {
$.ajax({
url: url, //url страницы (action_ajax_form.php)
type: "GET", //метод отправки
dataType: "html", //формат данных
data: $("#"+ajax_form).serialize(), // Сеарилизуем объект
success: function(response) { //Данные отправлены успешно
result = $.parseJSON(response);
$('#result_form').html(result);
},
error: function(response) { // Данные не отправлены
$('#result_form').html('Ошибка. Данные не отправлены.');
}
});
}
});
<form method="GET" id="ajax_form" action="" >
<input type="text" name="id" placeholder="ID пользователя"></br></br>
<input type="text" name="price" placeholder="Покупка"></br></br></br>
<input type="button" id="btn" value="Добавить подписку"/>
</form>
<div id="result_form"></div>
Ответы (1 шт):
Автор решения: Az Rieil
→ Ссылка
- Исключите вставки php кода из js.
- Вы указываете что хотите получить HTML а потом парсите его как JSON.
Если вы хотите отправить с сервера json, используйте
wp_send_json($result)и установитеdataTypeв json - Вы не можете записывать объект в html. Преобразуйте его в строку через
JSON.stringify
