Передача значения с использованием jQuery и php - PullRequest
0 голосов
/ 18 февраля 2010

Я хочу передать значение файла, чтобы поймать php, используя jQuery. Есть ли способ передать значение файла в catch.php, чтобы var_dump ($ _ FILES) что-то выводил?

------ index.php ------------

<p>Name: <input type="text" name="name" id="name" /></p>
<p>Picture: <input type="file" name="pic" id="pic" />)</p>
<p><a href="#" id="submit" >POST</a></p>
<div id="result"></div>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$("#submit").click(function(){
    $.post(
       'catch.php',
       {name: $('#name').val(), pic: $('#pic').val()},
       function(result){
           $("#result").html(result);
       },
       "html"
    );
});
</script>

---------- catch.php -----------------

<?php
var_dump($_POST);

var_dump($_FILES);
?>

Ответы [ 5 ]

1 голос
/ 18 февраля 2010

Песочница javascript не позволяет загружать файлы с помощью xhr. Вы можете обойти это ограничение, отправив форму на скрытый iframe, но то, что вы пытаетесь сделать, просто не сработает.

0 голосов
/ 29 октября 2012

Это не проверено, но я думаю, что-то похожее на это. Пожалуйста, отправьте изменения.

JavaScript:

$("button").click(function(){
  $.post("photobridge.php",
  {
    filepath="/images/your_image.png";
    name="Image Name"
  },
  function(data,status){
    alert("Data: " + data + "\nStatus: " + status);
  });
});

PHP:

<?php
$filepath=Request.Form("filepath")
$name=Request.Form("name")
HTTPResponse::send("Image location".$filepath.";")
HTTPResponse::send("Image name".$name.".")
0 голосов
/ 18 февраля 2010

В качестве альтернативы платформа YUI имеет компонент загрузчика для решения этой проблемы - она ​​использует скрытый подход iframe, перечисленный выше, но обрабатывает его для вас прозрачно.

0 голосов
/ 18 февраля 2010

Если вы хотите загрузить файл - или вам просто нужно имя файла, вы можете найти информацию об этом на этой ссылке .

0 голосов
/ 18 февраля 2010

Для этого вам не нужен jQuery - вам просто нужна кнопка отправки в вашей форме.

Итак:

<form action='catch.php' method='post' />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...