Каков правильный способ обработки событий обратного вызова Ajax с использованием jquery?Ajax возвращающий объект вместо данных
В моем коде, когда я запускаю вместо отображения данных, он вызывает объект object: object. Однако, если я использую say msg.box
, он вернет данные правильно.
Я пытаюсь создать оператор if
, где if text equals a certain word
, тогда переменная из json помещается в html результата div BA_addbox.
Возможно, я не могу заставить это работать и был бы признателен, если бы кто-нибудь мог указать на мою ошибку. Я включил только соответствующий код, так как форма отправляет правильные данные, а php-код захватывает все сообщения. Большое спасибо.
Ajax код
$.ajax({
type: "POST",
url: "/domain/admin/requests/boxes/boxesadd.php",
data: formdata,
dataType: 'json',
success: function(msg){
if(msg == "You need to input a box") {
$("#BA_addbox").html(msg.boxerrortext);
}
else {
$("#BA_addbox").html(msg.box);
}
//alert(msg);
console.log(msg);
//$("#BA_addbox").html(msg.box);
//$("#formImage .col_1 li").show();
//$("#BA_boxform").get(0).reset();
//$("#boxaddform").hide();
}
});
boxesadd.php
$box = mysql_real_escape_string($_POST['BA_box']);
$boxerrortext = "You need to input a box";
if (isset($_POST['submit'])) {
if (!empty($box)) {
$form = array('dept'=>$dept, 'company'=>$company, 'address'=>$address, 'service'=>$service, 'box'=>$box, 'destroydate'=>$destroydate, 'authorised'=>$authorised, 'submit'=>$submit);
$result = json_encode($form);
echo $result;
}
else
{
$error = array('boxerrortext'=>$boxerrortext);
$output = json_encode($error);
echo $output;
//echo "You need to input a box";
}
}
ваш msg в формате json, вы не можете сравнить объект со строкой. – ccd580ac6753941c6f84fe2e19f229
объект Ваши данные. –