0

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

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 值

4

1 回答 1

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>
于 2012-11-30T20:17:36.047 回答