尝试将值返回到javascript时出错

时间:2017-05-15 17:26:07

标签: javascript jquery json asp.net-mvc dropzone.js

我试图在成功时将值返回dropzone的javascript。我使用返回Json操作并尝试构建一个URL以指向另一个视图。我的问题,如何将值返回到javascript函数并获取值?

当我试图找到值时,我得到这样的错误。

                        myDropzone.on("queuecomplete",
                            function(data) {
                                this.removeAllFiles();

                                var res = JSON.parse(data);

                                var  url = "@Url.Action("OrderConfirmation","Upload", new
                                       {

                                           OrderNumber =  "45678"
                                       })";


                                window.location.replace(url);

                            });

当我的代码是这样的时候:

   return Json(new {OrderNumber = orderNumber, JsonRequestBehavior.AllowGet  });

这是我的行动的回归线

table = soup.find('body', class_='panel-open')

1 个答案:

答案 0 :(得分:1)

AllowGet不应该是返回对象的一部分,它是Json()的第二个参数。

return Json(new { OrderNumber = orderNumber }, JsonRequestBehavior.AllowGet);

编辑:不太了解dropzone,但我怀疑data已经是一个对象,因此JSON.parse()可能是不必要的。无论如何,data.OrderNumberres.OrderNumber应该是订单号。

你无法在javascript中使用@Url.Action,因为它会在javascript被击中之前执行服务器端。你需要做一些像

这样的事情
var url = '/Upload/OrderConfirmation/' + data.OrderNumber;

或者如果您确实需要为您构建的URL,请输入一个虚拟查询字符串参数

var url = '@Url.Action("OrderConfirmation", "Upload", new { OrderNumber = XXXXX}"';

然后替换" XXXXX"使用url字符串中的实际订单号。