Как получить данные обратно из php-вызова с помощью Jquery.form.js?

Я использую вызов AjaxForm() из jquery.form.js, чтобы попытаться запустить скрипт php, который поместит данные в базу данных, а затем извлечет их. Но как бы вы сделали этот вызов, используя вызов ajaxForm из jquery.form.js?

*ОБНОВЛЕНИЕ: ДОБАВЛЕНО НЕКОТОРЫЙ КОД *

    $('#profilepicbutton').live('change', function(){
    $("#preview").html('');
    $("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
        $("#registerpt3").ajaxForm({target: '#preview'}).submit();
        /*$.post(
        "register3.php",{
            target:'#preview'},
            function(data){*/
                $("#preview").html('');
                $("#preview").append("<img src="+data+"></img>");
 });

Мой код PHP...

    if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
    {
  $name = $_FILES['profilepicinput']['name'];
  $size = $_FILES['profilepicinput']['size'];
  if(strlen($name))
  {
    list($txt, $ext) = explode(".", $name);
    if(in_array($ext,$valid_formats))
    {
        if($size<(1024*1024)) // Image size max 1 MB
        {
            $actual_image_name = time().$session_id.".".$ext;
            $tmp = $_FILES['profilepicinput']['tmp_name'];
            $fp      = fopen($tmp, 'r');
            $data = fread($fp, filesize($tmp));
            $data = addslashes($data);
            fclose($fp);
            if(mysql_query("insert into Personal_Photos (Email, Pics) values('$email', '$data')"))
            {
                $query="select Pics, MAX(ID) from Personal_Photos where Email='$email'";
                $result=mysql_query($query) or die("Error: ".mysql_error());
                $row=mysql_fetch_array($result);
                header("Content-type: image/jpg");
                print($row['Pics']);
            }
            else
            {
                die('Invalid query: ' . mysql_error());
                echo "failed";
            }
        }
        else
            echo "Image file size max 1 MB. Image Size:"+$size;
    }
    else
        echo "Invalid file format..";
}
else
    echo "Please select image..! Bull shit".$email;
exit;

}

То есть вы говорите, что данные должны возвращаться автоматически?

Когда я вызываю ajaxForm, я должен вызывать функцию?

ОБНОВЛЕНИЕ: Запрос на пример

Привет. Я не хочу быть тем чуваком, который постоянно запрашивает, например, код, но есть ли в каком-нибудь теле пример выполнения вызова ajaxForm() и успешного возвращения данных и их публикации на этой странице? Я не могу понять, что делать... Я только что попробовал

$('#profilepicbutton').live('change', function(){
    $("#preview").html('');
    $("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
        $("#registerpt3").ajaxForm({
                target: '#preview',
                success: function(data)
                {                                   
                    $("#preview").html('');
                    $("#preview").append("<img src="+data+"></img>");
                }
            }).submit();
 });

Когда я использую firebug, чтобы выяснить, что находится в данных, он говорит мне, что он не определен. Действительно смущен. Пожалуйста помоги.

1 ответ

Решение

Вы просто делаете: $('#myFormId').ajaxForm(); и он должен автоматически работать:) Вы можете передать любую из стандартных опций $.ajax в ajaxForm (полные и успешные обратные вызовы и т. д.).

Вы можете увидеть полные документы здесь: http://jquery.malsup.com/form/

Другие вопросы по тегам