2016-05-26 9 views
1

私は今16時間のようにこれに行ってきました。 imgのURLをデータベースに照会し、配列(おそらくJSON)にエンコードし、AJAXリクエストを介してその情報を取得し、その情報をPhotoswipeに挿入しようとしています。Photoswipe JSエラーon line 1358初期レイアウト

ここにJSONを使用してPHP配列をエンコードするコードを示します。符号化された後

$Path = "{src: '../images/banduploads/" . $row[0] . "." . $row[1] . "', w: 200, h: 900 }"; 
$data[$i] = $Path; 
$i+=1; 
}; 
print json_encode($data); 

配列データ:

["{src: '..\/images\/banduploads\/1.png', w: 200, h: 900 }","{src: '..\/images\/banduploads\/3.jpg', w: 200, h: 900 }","{src: '..\/images\/banduploads\/4.jpg', w: 200, h: 900 }"] 

AJAX AJAXエスケープスラッシュことなく、AJAX前と全く同じであり、後にアレイ

$.ajax({ 
    url: "galleryload.php", 
    type: 'POST', 
    dataType: 'json', // will automatically convert array to JavaScript 
    success: function(data) {   
     var options = { 
      index: 0 // start at first slide 
     }; 

     // Initializes and opens PhotoSwipe 
     var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, data, options); 
     gallery.init(); 
    } 
}); 

データを受信します。

エラーがこの行に原因:

Ba("initialLayout", function() { 
         f.currItem.initialLayout = i.getThumbBoundsFn && i.getThumbBoundsFn(m) 
        }), 

とクロムに私はいくつかの僻遠の理由でどこにもGoogleではないコンソールでこのエラー、受信:

"Uncaught TypeError: Cannot create property 'initialLayout' on string '{src: '../images/banduploads/1.png', w: 200, h: 900 }'" 

キリスト誰かが私を助けてくださいを

+0

あなたの問題は、文字列の相対ファイルパスにある可能性があります。絶対パスを使用してみてください。 – Jason

+2

データオブジェクトはクライアント上の文字列の配列ですか?オブジェクトの配列でなければなりません – ndonohoe

答えて

0

ボニージョーは正しいです。文字列は構文上100%正確であったにもかかわらず、オブジェクトとして関数に渡す必要がありました。私は今日の午後、それを私の最大の喜びに合わせた。

{ 
    extract($row); 
    $channel[] = array(
     'src' => $Path, 
     'h' => $height, 
     'w' => $width 
    ); 
} 

}; //end $row = $SQLquery 
$json = json_encode($channel); 
echo $json; 
関連する問題