2017-04-11 54 views
2

我想使用jQuery Ajax將數據從aspx頁面發送到.cs Webmethod。我的HTML代碼如下所示將文件從JQuery Ajax發送到C#Webmethod

  <tr> 
       <td> 
        <input type="text" id="txtName"> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <form action="" id="AttachmentForm1" enctype="multipart/form-data"> 
         <input type="file" name="UploadFile1" id="txtUploadFile1" class="btn btn-sm" /> 
        </form> 
       </td> 
      </tr> 

我的javascript代碼如下

function saveData() { 

    var file = $("#txtUploadFile1")[0].files[0]; 

    $.ajax({ 
     url: 'CCA_Form.aspx/SaveData', 
     type: 'POST', 
     dataType: 'json', 
     contentType: 'application/json; charset=utf-8', 
     data: JSON.stringify({ Name: txtName, fileData: file }), 
     success: function() { 
      alert("Data Added Successfully"); 
     }, 
     error: function() { 
      alert("Error while inserting data"); 
     } 
    });} 

而且我的C#代碼如下

[WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public static bool SaveData(string Name, string[] fileData) 
    { 
     //Breakpoint 
     return true; 
    } 

我該如何在C#上傳文件中的WebMethod ?

在此先感謝。

+0

的可能的複製【如何上傳與文件使用jQuery/Ajax來WEBMETHOD網頁表單?](HTTP:/ /stackoverflow.com/questions/30233472/how-to-post-webform-with-file-to-webmethod-using-jquery-ajax) – Curiousdev

+0

這裏你缺少一個括號:'data:JSON.stringify(Name:txtName, fileData:file})'爲了從javascript對象發送一個json字符串。 –

回答

0

你需要使用XMLHttpRequest
這傢伙有一個非常好的教程。看到它,如果它可以幫助你:Click Here

或者

爲了您上面的代碼:

var filename = $("#txtUploadFile1").val(); 
$.ajax({ 
    url: 'CCA_Form.aspx/SaveData', 
    type: 'POST', 
    enctype: 'multipart/form-data', 
    data: {file: filename}, 
    success: function() { 
     alert("Data Added Successfully"); 
    }, 
    error: function() { 
     alert("Error while inserting data"); 
    } 
});} 
相關問題