0

Java 脚本

$('#senurl').click(function () {

    $.ajax({
        type: "POST",
        url: "/Admin/Coupon1/Reject",
        dataType: "json",
        data:  "id="+@Model.id+"&url="+@url

    });
});

ReferenceError: Expired is not defined
[Break On This Error]
data: "id="+2925+"&url="+Expired

4

3 回答 3

2

您可能想要(但另见下文):

$('#senurl').click(function () {

    $.ajax({
        type: "POST",
        url: "/Admin/Coupon1/Reject",
        dataType: "json",
        data:  "id=@Model.id&url=@url"

    });
});

...因为您必须考虑浏览器看到的内容,以及是否@url被服务器替换Expired,从错误中您可以看出浏览器看到的代码是:

data: "id="+2925+"&url="+Expired // <=== What the browser sees with your current code

更好的是,让 jQuery 通过传递一个对象来处理所需的任何潜在 URI 编码:

$('#senurl').click(function () {

    $.ajax({
        type: "POST",
        url: "/Admin/Coupon1/Reject",
        dataType: "json",
        data:  {id: @Model.id, url: "@url"}
    });
});

如果您不想向 jQuery 传递一个对象并让它为您处理 URI 编码,那么您需要自己处理它:

data:  "id=@Model.id&url=" + encodeURIComponent("@url")
于 2013-02-06T11:44:59.953 回答
0

$('#senurl').click(function () {

$.ajax({
    type: "POST",
    url: "/Admin/Coupon1/Reject",
    dataType: "json",
data: "{id:'" + @Model.id + "', 'url': " + @url + "}",  
   success: function (response) {
    alert( response.d); 
},
error: function (data) {
    alert(data);
},
failure: function (msg) {

}
});

});

试试这个它工作正常。如果您使用的是 url 路由,那么您可能会遇到一些其他错误。所以最好得到响应输出并检查..

于 2013-02-06T12:05:12.213 回答
-1

我认为这是因为 @url 变量被分配了Expired不带引号的数据。

于 2013-02-06T11:45:24.013 回答