Я пытался использовать простой запрос Ajax с JS и PHP. Мой код:
тест. js
$(document).ready(function () {
$.ajax({
url: window.location.href + 'test.php',
type: 'GET',
data: { 'testing': 'hey' },
success: function (data) {
console.log(data);
},
error: function (xhr, desc, err) {
console.log(xhr);
console.log('Details: ' + desc + '\nError: ' + err);
}
});
});
тест. php
<?php
include('../db.php');
header('Content-Type: application/json');
$myObj->name = "John";
$myObj->age = 30;
$myObj->city = "New York";
$json = json_encode($myObj);
echo $json;
index. php
<?php
include('db.php');
// ...
?>
<script src="./webroot/test.js" type="text/javascript"></script>
Однако он выдал ошибку 500. Я проверил как Ajax post, так и Ajax get и получил одинаковый результат. Однако, если я не использовал json_encode и просто вместо этого выводил эхо, ошибка исчезала, и я мог видеть сообщение на консоли.
test2. php
<?php
include('../db.php');
echo "this thing will work even though I didn't need";
Я проверил php error_log, ничего не получил. Добавьте заголовок ('Access-Control-Allow-Origin: *'); ", все тот же. Эхо json_last_error (), нет ответа даже на сообщение об ошибке.
Консоль: ![enter image description here](https://i.stack.imgur.com/jC9QY.jpg)
![enter image description here](https://i.stack.imgur.com/rUUfF.jpg)
В этом случае я не смогу использовать любую JS -библиотеку. Любая помощь будет очень признательна.
Edit: $ before json_encode()
на самом деле является опечаткой, которую я написал, задавая вопрос. Мой текущий код не имел его и все еще получил 500. Edit2: Еще одна опечатка. Мой текущий код правильно закрыл тег.