Вы пометили этот вопрос как jquery, поэтому вы можете использовать $.ajax()
:
function auctionBid(auction_id) {
$.ajax({
url: "/cms/ajax/auctionBid.php",
type: "GET",
data: {
auction_id: auction_id
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
// act appropriately
},
success: function(data, textStatus) {
// do whatever
}
});
}
Если вам не нужен обработчик ошибок, вы можете использовать вместо него более простую форму $.get()
:
function auctionBid(auction_id) {
var url = "/cms/ajax/auctionBid.php";
$.get(url, { auction_id: auction_id }, function(data, textStatus) {
// do whatever
});
}
На самом деле я предпочитаю не использовать обработчики ошибок. Это немного страшнее, чем нужно. Используйте это для фактических ошибок. Такие вещи, как "не авторизован", могут обрабатываться обработчиком успеха. Просто передайте обратно объект JSON, который содержит необходимую информацию, чтобы сообщить пользователю, что произошло.
Для этого вы можете использовать сокращенную версию $.getJSON()
.
function auctionBid(auction_id) {
var url = "/cms/ajax/auctionBid.php";
$.getJSON(url, { auction_id: auction_id }, function(data) {
if (data.notLoggedIn) {
alert("Not logged in");
}
...
});
}
Чтобы вернуть некоторую информацию в виде JSON из PHP, используйте json_encode()
и соответственно установите тип MIME:
<?php
session_start();
header('Content-Type: application/json');
echo json_encode(array(
'highBid' => get_new_high_bid(),
'loggedIn' => $_SESSION['loggedIn'],
));
exit;
?>
Я делаю предположения о вашей системе входа в систему, поэтому приведенное выше является грубым упрощением.
Верните это в $.getJSON()
обратный вызов, и вы сможете сделать:
alert(data.highBid);
alert(data.loggedIn);