【发布时间】:2013-06-28 07:46:00
【问题描述】:
我的页面上有一个非常基本的表单:
<form action="api/file" method="post" enctype="multipart/form-data">
<input type="file" multiple />
<input type="submit" value="Submit" />
</form>
我成功提交了我的file,以便将其上传到我的服务器上。我的服务器通过返回一些 json 内容来响应:
内容如下:
[{"name":"Untitled.png","path":"http://localhost/uploads/Untitled.png","size":10}]
我的问题:我怎样才能从我的服务器截取这个响应并将其显示在我的页面上?我是否必须使用 AJAX 发布我的表单才能有机会获得回复?
类似:
$.ajax({
type:"POST",
data: WHAT_HERE?,
url:"api/file",
success: function(data){
$("#post").html(data);
},
error: function(){
$("#post").html('An error occurred.');
}
});
感谢您的帮助。
【问题讨论】:
-
您需要使用服务器端语言来处理表单提交(例如 PHP、Java),它会调用您的上传脚本、获取响应并将用户重定向到格式化页面。跨度>
-
我不太理解您的评论。我已经编写了服务器端部分来接收请求(上传文件)。这是 Web API 控制器(Microsoft),此服务器以 json 响应。现在我希望我的客户端检索此响应并显示它。
-
您的服务器正在发回
data我想您发送的内容被浏览器解释为可下载内容,因此它会打开下载对话框。尝试发回一个简单的字符串并将其显示在$("#post") -
从最初阅读您的问题开始,尚不清楚“api/file”是否为 .NET - 这就是您的表单处理内容,因此您的控制器被设置为该框架的一部分是什么将允许您发送格式化的响应。当它到达客户端时,为时已晚(对于非 JS)。你的问题是真的 - '我可以使用 ASP.NET Web API 框架从 POST 中提供 HTML 响应吗?'
-
你是对的,我编辑我的问题要清楚。
标签: jquery html asp.net asp.net-web-api