如何使用Jquery.form.js从php调用中获取数据?

时间:2011-10-04 23:16:32

标签: php jquery-forms-plugin

我正在使用来自jquery.form.js的AjaxForm()调用来尝试运行一个php脚本,该脚本将数据放入数据库然后将其拉出。但是你如何使用jquery.form.js中的ajaxForm调用进行调用呢?

* 更新:添加了某些代码*

    $('#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 个答案:

答案 0 :(得分:1)

你只需:$('#myFormId').ajaxForm();它应该自动神奇地工作:) 您可以将任何标准的$ .ajax选项传递给ajaxForm(完成和成功回调等)。

您可以在此处查看完整的文档:http://jquery.malsup.com/form/#getting-started