Я пытаюсь сделать вызов JQuery AJAX по нажатию кнопки.
Сначала начинается создание моего собственного кода AJAX, все работает, кроме IOS.
Так что теперь я начал использовать jQuery. Работает как шарм с отправкой данных туда и обратно,
За исключением .. каждый раз, когда я пытаюсь установить соединение с базой данных в моем php-файле, выдается ошибка 500 (Internal Server Error).
Я пробовал это WordPress ($ wpdb) и MySQL, оба не работают.
Javascript:
jQuery(document).ready(function() {
var buttons = document.getElementsByClassName('vilbutton');for(var i=0; i< buttons.length; i++){
jQuery(buttons[i]).one('click',send);
}
function send(){
var id = this.id;
var count = 1;
jQuery.ajax({
url: 'mydomain/krant.php',
type: 'post',
dataType: 'text',
data: { id : id, count : count},
crossDomain: true,
success: function(data) {
jQuery("#"+ id).children('.vilbsmall').children('.vilbsmallc').html("<span class='vilbsmallct' style='height: 30px; width: 30px;'>" + data + "</span>");
},
error: function(xhr, desc, err) {
alert("Foutcode: 1912");
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err);
}
}); // end ajax call
}
});
PHP:
header('Access-Control-Allow-Origin: *');$id = $_POST['id'];
/* $con = mysqli_connect('mycredentials');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
$sql = "SELECT id FROM buttons WHERE id = $id";
$test = mysql_fetch_assoc(mysqli_query($con,$sql));
$test = $test +1; */
global $wpdb;
$button_count = $wpdb->get_var("SELECT count FROM buttons WHERE id = $id");
$count = $_POST['count'];
$ip = $_SERVER['REMOTE_ADDR'];
echo $button_count;
Я застрял на этом в течение 2 дней .. помощь будет очень признателен!
Включив wp-load.php, вы получите доступ к таким объектам, как $ wpdb.
require_once( '/path/to/your/files/wp-load.php' );
Причина, по которой вы получаете внутреннюю ошибку 500, заключается в том, что в вашем скрипте PHP есть ошибка.
Ты используешь $wpdb
Объект, который не определен. Чтобы получить доступ $wpdb
включите wp-load.php
,
require_once( 'path-to-file/wp-load.php' );