2012-04-11 4 views
6

Хорошо у меня есть PHP скрипт, который заканчивается, как так:Отправить ответ PHP Аякс

if ($success) 
{ 
    $result = array('success' => true); 
} 
else 
{ 
    $result = array('success' => false, 'message' => 'Something happened'); 
    header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500); 
} 
    echo json_encode($result); 

и некоторые JQuery, что я планировал на том Оповещать меня, когда мой сценарий работает.

jQuery(document).ready(function() { 

    $.ajax({ 
     url: './contactengine.php', 
     type: 'GET', 
     dataType: 'JSON', 
     success: function(response) { 
         alert("GOOD"); 
       }, 
       error: function() { 
         alert("BAD"); 
       } 
    }); 

}); 

отредактированный источник

+0

Является ли ваш оператор 'return 1' вызываемым внутри функции? –

+2

Что означает «Да» _? – gdoron

+0

Вы должны вывести 1 как JSON. –

ответ

5
 <?php 
     if ($success){ 
      $result = array("status" => "1"); 

      echo json_encode($result); 
      } 
      else{ 
       print "<meta http-equiv=\"refresh\" content=\"0;URL=/404.html\">"; 
      }  
     ?> 
     <script> 
     jQuery(document).ready(function() { 

      $.ajax({ 
          type: 'GET', 
          url: 'Thatscriptsomething.php', 
          cache: 'false', 
          dataType: 'json', 
          success: function(response) { 
           if(response.status == "1") { 
            alert("we having a working script"); 
           } else { 
            alert("Oops, script is a no go"); 
           } 
          } 
         }); 
     }); 
     </script> 
+0

Назад, работая над этим, и я перешлю на страницу, где написано: ' {"success": true} ' он переходит на страницу domain.com/script.php, когда он не должен туда идти. – lostAstronaut

+0

Я попытался запустить ваш скрипт, и он не работает. Если я сделаю предупреждение (ответ), я получил {"status": 1} ... Так что я думаю, что это причина, по которой он не работает. Кроме того, если я не удаляю dataType: сценарий «json» ничего не делает. – doplumi

4

Простой пример - это работает для меня

PHP РЕАКЦИЯ

$value = array('msg' => 'true'); 
      echo json_encode($value); 

AJAX МЕТОД

$.ajax({ 
    type: 'post', 
    url: 'URL', 
    contentType: false, 
    processData: false, 
    dataType:'JSON', 
    data: formData, 
     success: function(value) { 
       if (value.msg == 'true') { 
         //your action 
       }else{ 
         //your action 
       } 
     } 
}); 
Смежные вопросы