2011-10-04 60 views
0

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

* 更新:增加了一些代码*

$('#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; 

}

所以你说的数据应该马上就回来汽车-magically?

当我调用ajaxForm时,我应该调用一个函数吗?

UPDATE:请给一个例子

你好。我不想成为那种不断要求代码示例的老兄,但是任何机构都有一个例子,可以调用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/#getting-started

+0

我居然给了一个镜头。 php脚本打印一个从mysql调用返回的blob。但由于某种原因,当我在我的页面上记录数据时,它实际上显示了我的php页面。我会在一分钟内显示我的代码。 – SoftwareSavant

+0

所以我应该用数据或其他东西调用函数... – SoftwareSavant

相关问题