0

このエラーが発生しています:Uncaught SyntaxError: Unexpected Token

これは私のコードです:

$(document).ready(function(){ 

$(".cartsummary .showcartsumm").click(function() {
  $(".cartsummary .cartitems").show();    
});
$(".cartsummary").hoverIntent(
function () {
 $(".cartsummary .cartitems").fadeIn();
}, 
function () {
   $(".cartsummary .cartitems").fadeOut();
}) 
nutrishowcart(0);
});

function nutrishowcart(slidedown)
{
    $.ajax({
            type: "POST",
            url: "/CUSTminicart.aspx" + "/" + "Render",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "text",
            success: function(msg) { 
                // msg2 = eval(msg);
                // Get rid of the copyright text that kills JSON
                index = msg.indexOf('<div align="center">');
                msg2 = msg.slice(0,index);
                //msg2 = msg;
                json = eval("(" + msg2 + ")");
                $("#cartwrapper").html(json.d);

                if (slidedown==1) {
                    $(".cartsummary .cartitems").fadeIn().delay(2000).fadeOut();
                }
            },
            error:function (xhr, ajaxOptions, thrownError){
            alert("Minicart issue");
            }       

         });

}

これは jquery.min.js の最後の行にあります

エラーはjson = eval("(" + msg2 + ")");

これを解決する方法はありますか?

4

2 に答える 2

0

これは有効な JSON ではありません。json = eval("{" + msg2 + "}");JSON オブジェクト用である必要があります。

于 2013-08-16T11:15:54.340 に答える
0

あなたが発見したエラーは正しいです。

JSON オブジェクトを作成するには、「(」の代わりに「{」を使用する必要があります。

json = eval("{" + msg2 + "}");
于 2013-08-16T11:29:22.607 に答える