Как получить данные обратно из 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/