当前位置: 首页 > 知识库问答 >
问题:

在ajax调用中传递图像并使用php读取[duplicate]

云航
2023-03-14

我创建了一个输入值的表单,然后jQuery将读取这些值。此时,jQuery将对PHP文件进行ajax调用,该文件必须将文章上传到MySQL(它已经这样做了)。问题是,我找不到一种方法来传递图像的tmp到PHP使其读取。

第一个代码:表单

 <form class="form">
  <input type="text" id="titolo" placeholder="Titolo" name="post_title" />
  <input type="text" id="autore" placeholder="Autore" name="post_author"  />
  <input type="date" id="data" name="post_date" />
  <select id="categoria" name="category">
    // code php from mysql to select category               
  </select>
  <textarea id="article" name="post_content" rows="10" cols="30"></textarea><br/>             
  <label for="anteprima">Seleziona l'immagine di anteprima:</label><br/>
  <input type="file" accept="image/*" id="anteprima" name="post_image"/><br/>
  <input type="button" value="Upload Articolo" name="submit" class="invia" />
   <div id="public_article"></div>
 </form>

读取对象jQuery:

$(".invia").click(function(e){ 
  e.preventDefault();
  var v1 = $('#titolo').val();
  var v2 = $('#autore').val();
  var v3 = $('#data').val();
  var v4 = $('#categoria').val();
  var v5 = $('#article').val();
  var v6 = $('#anteprima');

  // here control of the value if it's ok go to the $.post

 $.post("(//here the name of file php)", {titolo: v1, autore: v2 , date: v3, categoria: v4, rif_testo: 
 v5, rif_immagine: v6, cache:false})
        .done(function(dataResult){
            $("#public_article").html(dataResult);
        })
        .fail(function() {
            $("#public_article").html("error");
        }); 

});

我无法将照片发送到PHP文件并通过$\u文件将其恢复。

共有1个答案

吕扬
2023-03-14

您可以为此使用FormData:

var formData = new FormData($(.form)[0]);


// now send it not using post but using ajax
    $.ajax({
        url: '//here the name of file php',
        type: 'POST',
        data: formData,
        async: false,
        success: function (data) {
            alert(data)
        },
        cache: false,
        contentType: false,
        processData: false
    });

在PHP中,您可以像处理普通表单一样处理它。

 类似资料:
  • 问题内容: 我对jQuery和Ajax函数还比较陌生,但是过去几天一直在使用Ajax表单。我在尝试上传图像时遇到文件上传问题。在寻找资源时,我找不到任何有用的东西,因为它们似乎过于复杂,毫无意义,没有任何解释,这无助于我进一步学习。 我已经编写了以下代码来处理Ajax中的图片上传: 这向文件发送了一个请求,但是没有发送数据,基本上我的表单实际上是这样的: 似乎没有任何数据在标头中传递,我认为我将通

  • 问题内容: 我试图将图像和标题字段值传递给PHP,通常我会使用$ _FILES数组直接用PHP处理文件上传,但我不确定如何使用ajax将其创建/传递给PHP。我的表格: 我正在尝试使用它传递给PHP: 在PHP中,我正在尝试这样做: 优素福 问题答案: 我在我的一个项目中做到了这一点,下面的代码对我有用。请根据需要对代码进行必要的修改。 我的表单按钮: 我的JQuery / Ajax:

  • 问题内容: 我有一个标准的javascript ajax调用,其中将data:设置为json数据。 我试图在php中获取数据,这是行不通的。 但是,可行。 我想知道这可能是我的框架或诸如此类的无法正常工作的东西吗?还是还有其他我可以用来获取数据的东西? 编辑: 因此,框架YII和扩展Restfullyii具有使用一种方法获取其数据的方法return json_decode(file_get_con

  • 问题内容: 使用AJAX上传多张图片时遇到很多问题。我写这段代码: 的HTML jQuery / AJAX 我尝试了各种版本,但从未成功通过ajax发送多个数据。我已经按照这种方式尝试了以上所见,现在我仅获得POST信息。我知道为什么会收到POST,但我需要发送FILES信息,而且我不知道我哪里写错了。 我不是第一次使用Ajax,经常在大多数项目中使用它,但是我从未使用过发送多个文件,这现在困扰着

  • 问题内容: 我以前从未做过这样的事情,我在问如何做。我可以找到如何使用纯html格式的表单等来执行此操作。但是现在如何使用ajax来执行此操作? 伪代码: 的HTML: JQUERY: 不知道如何执行此操作。还有一种方法可以对多个img文件执行此操作,并检查该文件实际上是否是图像,并且当然使用文件名作为图像名称,而不是使用输入文本字段。 任何提示,链接或代码示例都将非常有用,谢谢! 问题答案: 注

  • 问题内容: 我正在尝试使用jQuery和Ajax函数上传图像,以及如何获取图像文件的所有详细信息,例如我们使用的php 这是我的代码 JS 控制者 视图 响应 C:\ fakepath \ Koala.jpg您没有选择要上传的文件。 请帮忙 问题答案: 您可以在html5中使用FormData API。 您的表格必须是: 然后jQuery: 然后,在控制器中,您将获得数组中的文件。