MVC4 AJAX post JSON
本文关键字:JSON post AJAX MVC4 | 更新日期: 2023-09-27 17:50:05
这是我的函数,在这里我只发布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)
{}
你不能通过AJAX(按照设计)上传文件,除非你使用一个插件,利用其他"技术",如flash,或iframes -这是一个安全措施,JavaScript读取本地文件在你的机器上将不是最好的主意
这里有和选项:http://jquery.malsup.com/form/
…否则,我建议从众多其他选择中选择一个!
在您获得64进制的数据后,您的json应该是一个对象控制器的json应该是这样的
{"json":"something here that is a string","file":"some file"}
同样在客户端,你应该有一个n对象,你调用JSON.stringify()
var ob = {json:imageDataAsBase64,file:fileDataAsBinary}
虽然我看不出有什么理由把两个都送去。如果你需要的只是传输图像你只需要获取base64格式的图像并以json格式发布