用jquery和json发送文件

时间:2014-05-02 02:08:19

标签: jquery ajax json node.js mongodb

嗨不知道如何通过ajax发送包含文件的结构, 我需要将此结构作为json发送并包含一个图像,我在ajax中收到错误,

    var professionalCardNumber = $("#professional_card_number_input").val();
    var professionalType = $("#professional_type_input").val();
    var isWorking = $("#is_working_input").val();
    var inputFileImage = document.getElementById("evidence_input");
    var evidence  = inputFileImage.files[0];

      e.preventDefault();
      var professionalInformation = {
        "professionalCard": {
          "number": professionalCardNumber
        },
        "professionalType": professionalType,
        "isWorking":isWorking,
        "evidence": evidence
      }

      $.ajax({
        type: requestType,
        url:"/api/v1/doctors/me/professional_information?errors=verbose",
        headers: {
          "accessToken": localStorage.accessToken
        },
        data:{
        professionalInformation:professionalInformation
        },
        success: function(data){
          console.log(data);
        }
      });

1 个答案:

答案 0 :(得分:0)

您希望对数据使用JSON.stringify以及其他相关选项:

$.ajax({ 
    "type": "POST", 
    "headers": { 
        "Content-type": "application/json",
        "accessToken": localStorage.accessToken
    }, 
    "url": "/api/v1/doctors/me/professional_information?errors=verbose",
    "data": JSON.stringify(professionalInformation)
})

所以你在这里应该有一个POSTPUT动词,但这实际上就是终点应该期待的任何内容,(但这些都是最佳实践)。 ' Content-type`标头也应该在那里,但你的端点可能只是假设它是JSON。