2015-12-01 2 views
0

Это просто невозможно. Я не могу найти то, что это не так !! Рассмотрим следующий очень простой testing code:JSON не работает в ajaxForm

<head> 
<script type="text/javascript" src="js/jquery-1.11.1.js"></script> 
<script src="js/jquery.form.js"></script> <!--AJAX JQUERY FORM PLUGIN--> 
</head> 
<body> 

<script> 
$(document).ready(function() { 
    $('#form1').ajaxForm({ 
     dataType: 'json',  
     success: function() { 
      alert(5);  
     }    
    }); 
}); 
</script> 

<form action="proceed.php" method="post" name="form1" id="form1" > 
    <input type="submit" name="one_button" id="one_button" value="GO" /> 
</form> 
</body> 

и код для proceed.php:

<?php 
    $message= 'success'; 
    echo json_encode($message); 
?> 

Приведенный выше код не не предупреждения «5» на кнопку мыши, если я вычитать line dataType: 'json'. Является ли проблема в PHP, которая неправильно отправляет данные json? Я не могу сказать ... Сумасшедший об этом, я много раз использовал этот код, и все было хорошо !!!

+0

Мне просто интересно, почему вы делаете вызов ajax без 'source' или' url'? – Naruto

+0

Это плагин ajax form @Naruto, он берет url из формы action –

+0

Ах, извинения, я понятия не имел, жестко это был просто вызов ajax – Naruto

ответ

1

Пожалуйста, ваше $ message как массив. Ваш код должен выглядеть так.

<?php 
    $message[]= 'success'; 
    echo json_encode($message); 
?> 

http://php.net/manual/en/function.json-encode.php

+0

К сожалению, ничего не изменилось !!! –

+0

проверить в разделе сети браузера, погода, на которой работает ваш вызов ajax, или нет. если не применять функцию onclick в вашей кнопке отправки. удалить имя файла действия. чем дать ваш url в ajax call js code –

0
$message= 'success'; 

должен быть массивом;

$message[]= 'success';