javascript - 如何使用ajax上传图片

标签 javascript php ajax

我想上传图像而不刷新页面,但是当我点击提交按钮上传图像时,我的页面仍然刷新。我的ajax代码出了什么问题。当我提交纯文本表单而不是图像文件时,此方法有效。

测试.php

<div class="preview_d_p" id="preview_d_p">
<div class="preview">
    <div class="p_preview">
       <div id="p_p_image"><div id="myimage"></div></div>
    </div>
    <div id="lab"> <label for="photo_upload">upload</label></div>
      <form enctype="multipart/form-data">
      <input type="file" id="photo_upload" name="image_upload">
    <input type="submit" value="save" id="insert_img" onclick="return loadimage()">
    </form>
</div></div>


<script>
function loadimage(){
       var image = documentElement('photo_upload').value;



     $.ajax({
         type:'post',
         url:'profile.php',
         data:{
            image:image

         },
         cache:false,
          success: function(html){

          }

     });

       return false;
    }
</script>

最佳答案

我的建议是将输入更改为按钮 (type="button") - 与输入相比,我更喜欢按钮,因为它们更容易设置样式。

但是您可以执行以下操作来管理提交数据而无需刷新页面:

HTML 示例(不是 HTML 的副本):

<div id="container">
    <form action="" method="post" id="myForm">
        <input type="text" value="hello world!" />
    </form>

    <!-- what's great about buttons, is that you don't have to place inside the form tags -->
    <button type="button" id="submitBtn">

JS 匹配

$(document).ready(function()
{
    $('#submitBtn').on('click', function()
    {
        //ajaxy stuff
        //will show the success callback function though:
        success: function(res)
                 {
                     $('#container').html(res);   
                 }
    })
});

如果你的 post 脚本返回 html 那么这应该可以工作。如果没有,请告诉我:)

关于javascript - 如何使用ajax上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44571570/

相关文章:

ajax - JQuery Ajax 和将多个复杂对象发布到 asp.net MVC Controller

javascript - 圆形进度条不是从中间开始

javascript - 将div中的元素向左移动

javascript - 在 ASP.Net C# 中使用 JavaScript 进行当前日期验证

php - 试图理解 PHP 的 method_exists 函数

javascript - 使用 Ajax 获取值并发送 url

javascript - 使用纯js创建属性时如何做某事

php - MySQL 搜索查询 - "Keep"不工作

javascript - JS 表单验证不适用于 html 表单

Ajax 应用程序适用于某些浏览器,而不适用于其他浏览器