[英]MVC4 AJAX post JSON
這是我的功能,我只發布json
function test() {
var imgFile = document.getElementById('image');
// var imgData = JSON.stringify(getBase64Image(imgElem));
//var imgData = Convert.FormBase64String(imgElem);
$.ajax({
type: 'POST',
dataType: 'json',
url: "http://localhost:59102/Contacts/AddContact",
data: "json=" + "{\"token\":\"8mVm/nS1OfpU+nlQLbJjqXJ7kJI=VyLGI2GEKkGgtDt0babrAw==\"}",
success: function (returnPayload) {
console && console.log("request succeeded");
},
error: function (xhr, ajaxOptions, thrownError) {
console && console.log("request failed");
},
processData: false,
async: false
});
而且我不知道如何添加到我的數據,圖像中,我需要發布json和圖像
這是我的控制器
[HttpPost]
[AllowAnonymous]
public JsonResult AddContact(string json, HttpPostedFileBase file)
{}
除非使用使用Flash或iframe等其他“技術”的插件,否則您無法通過AJAX上傳文件(按設計)-這是一種安全措施,因為JavaScript讀取計算機上的本地文件不是最佳方法
這里有一個選項: http : //jquery.malsup.com/form/
...否則,我建議您查找其他多種選擇之一!
在將數據獲取到base 64之后,您的json應該是控制器中的對象,而json應該是這樣的
{"json":"something here that is a string","file":"some file"}
同樣在客戶端,您應該有一個對象,您可以在該對象上調用JSON.stringify()
var ob = {json:imageDataAsBase64,file:fileDataAsBinary}
盡管我看不到發送兩者的理由。 如果您只需要傳輸圖像,則只需將圖像獲取為base64並將其發布為json
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.