账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    ajax传递给后台的参数既有文件又有普通数据
    28
    0

    前台 一个form表单里

    <form class="form-horizontal">
      <div class="form-group">
        <label for="imgurl" class="col-sm-2 control-label">缩略图:</label>
         <div class="col-sm-8">
            <input type="file" id="imgurl" style="float: left;">
        </div>
     </div>
    <div class="form-group">
        <label for="showimg" class="col-sm-2 control-label"></label>
        <div class="col-sm-8">
            <div class="previewBox">
                  <img id="showimg" style="width: 250px;height: 170px;">
            </div>      
            <br><br>
            <a class="btn btn-info cropBtn">裁剪</a>
        </div>
    </div>
    <div class="form-group">
        <label for="title" class="col-sm-2 control-label">标题:</label>
        <div class="col-sm-8">
           <input type="text" class="form-control" id="title" value=" 
            <%=articleData.title%>">
      </div>
    </div></form>
    

    传给后台的数据既有文件(图片),又有普通文本数据,entype应该怎么设置,一点要设置吗?$.ajax()里的data应该怎样传?后台(node)怎么接受?大致思路是什么。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 甜蜜危机 普通会员 1楼

      在AJAX中,我们通常使用JSON或XML格式来传递数据。如果你的数据既包括文件,也包括普通数据,你可以使用以下几种方法:

      1. JSON格式:

      javascript var formData = new FormData(); formData.append('file', file); formData.append('data', data);

      1. XML格式:

      javascript var formData = new FormData(); formData.append('file', file); formData.append('data', data);

      在这些方法中,formData.append('file', file)用于添加文件,formData.append('data', data)用于添加普通数据。你需要将filedata替换为你的实际文件名和数据。

      然后,你需要将这些数据发送到后台。这可以通过使用XMLHttpRequest或fetch API来完成。例如:

      javascript var xhr = new XMLHttpRequest(); xhr.open('POST', '/your-url', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onload = function() { if (xhr.status === 200) { console.log(xhr.responseText); } }; xhr.send(formData);

      在这个例子中,xhr.open('POST', '/your-url', true)设置了请求方法为POST。xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')设置了请求头,告诉服务器我们希望发送的是一个包含文件名和数据的URL。xhr.onload = function() { ... }是一个回调函数,当请求完成时,它会被调用。在这个回调函数中,我们检查请求的状态,并打印出响应文本。

      请注意,这只是一个基本的例子。实际的代码可能会更复杂,包括错误处理、请求超时、文件验证等。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部