从返回的Json中获取字符串。 fineuploader

时间:2012-11-30 20:02:02

标签: jquery asp.net-mvc

我有一个控制器,它返回一个图像的URL。 imageurl.AbsoluteUri是一个文件路径,并且正在返回,让我们说它返回“myserver.windows.net/myimagename” (使用fineUploader btw) 如何将这个价值纳入我的模型中? 这是我调用的jquery在图像控制器中调用fileUpload方法

function createUploader() {
            var uploader = new qq.FineUploader({
                element: $('#fine-uploader')[0],
                debug:true,
                text: {
                    uploadButton: 'SELECT FILE'
                },
                request: {
                    endpoint: '@Url.Action("UploadFile", "Image", new { qqfile = "Image" })'
                },
                callbacks: {
                onComplete: function(id, fileName, responseJSON) {
                    if (responseJSON.success == false && responseJSON.limitReached) {
                        $.confirm({
                            '@Model.Image':'imageurl'
                        });
                    } else {
                        addImage(responseJSON.idImage, responseJSON.imageType, responseJSON.showDescriptionOptions);
                    }
                }
            },
            });

以及它返回的内容,其中imageurl实际上是“myserver.windows.net/myimagename”

  return Json(new { success = true, imageurl = imageurl.AbsoluteUri }, "text/html");

我认为它与onComplete部分有关,但不确定如何实际拉出imageurl值

1 个答案:

答案 0 :(得分:0)

您无法在MVC模型中存储客户端javascript数据。 MVC模型在请求时在服务器上执行,浏览器不知道如何与它们交互。

您需要自己处理响应,使用jQuery更新页面的相应部分。例如,如果要使用响应更新图像:

$('#response-image').attr('src', responseJSON.imageurl);

<img id="response-image">

根据您的评论进行修改:

您可以使用jquery的.text()来设置元素的文本。

$('#response-url').text(responseJSON.imageurl);

然后在页面的某个地方:( div是无关紧要的,只为SO格式添加)

<div>
    The image url is <span id="response-url"></span>
</div>