Nie*_*ren 5 html javascript c# ajax jquery
我目前正在使用以下代码对我的控制器执行ajax调用:
$.ajax({
type: "POST",
url: "@Url.Action("uploadImage", "Item")",
data: '{ "imageData" : "' + image + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (success) {
alert('Success ' + success.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
这是控制器:
[HttpPost]
public ActionResult uploadImage(string imageData)
{
string imageName = Guid.NewGuid().ToString();
try
{
ProductManager pm = new ProductManager();
pm.AddNewProduct(imageName);
}catch(Exception e)
{
writeToLog(e);
}
return Json(new { success = imageName }, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
它到达控制器并且AddNewProduct函数成功运行.问题是我希望它返回在控制器中创建的图像名称.这也可以,但是它也会返回我完整的html页面.我在成功时发出警告,并在发生错误时发生错误,但不知怎的,它总是在错误中出现以下警告:
它显示了我需要的价值,但为什么它也会返回我的完整HTML?
你不需要JsonRequestBehavior.AllowGet。它必须仅用于GET请求,以保护您免受涉及JSON请求的非常具体的攻击。在你的代码中你使用的是POST动词。
您应该使用以下代码来获取success从服务器收到的字符串。
success: function (response) {
alert('Success ' + response.success);
}
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |