如何将数组从php(使用json_encode)传递给javascript
问题描述:
我的java脚本。我想显示图像。 javascript需要图像路径为数组格式。我试图提供路径抛出ajax。它不工作。当我使用硬编码工作。我的javascipt下面。它不工作。在JavaScript和我的PHP文件代码下面的工作代码供应也在那里。如何将数组从php(使用json_encode)传递给javascript
$(function() {
$.get("php/building_edit_image_get_db.php", function(your_return_data) {
alert(your_return_data);
$("#editimagefile").fileinput({
showUpload: false,
showCaption: false,
overwriteInitial: true,
initialPreview: [your_return_data],
initialPreviewAsData: true, // identify if you are sending preview data only and not the raw markup
initialPreviewFileType: 'image', // image is the default and can be overridden in config below
browseClass: "btn btn-primary btn-lg",
allowedFileExtensions : ['jpg', 'png','gif']
});
});
});
这不起作用。当我把硬编码其正常工作的脚本是低于
$(function() {
$.get("php/building_edit_image_get_db.php", function(your_return_data) {
alert(your_return_data);
$("#editimagefile").fileinput({
showUpload: false,
showCaption: false,
overwriteInitial: true,
initialPreview: [
"http://lorempixel.com/800/460/people/1",
"http://lorempixel.com/800/460/people/2"
],
initialPreviewAsData: true, // identify if you are sending preview data only and not the raw markup
initialPreviewFileType: 'image', // image is the default and can be overridden in config below
browseClass: "btn btn-primary btn-lg",
allowedFileExtensions : ['jpg', 'png','gif']
});
});
});
我的PHP文件returing数组值。
session_start();
require_once ('../aiboc_admin/class/Buidling_Image.php');
$editid = $_SESSION['BUILD_LIST_EDIT_ID'];
$getimgs = Buidling_Image::GetGalleryImageByID($editid);
foreach ($getimgs as $setimgs)
{
$imgs[] = $setimgs['img_url'];
}
echo json_encode($imgs,JSON_UNESCAPED_SLASHES);
答
你应该使用$.parseJSON()
因为你得到JSON格式当您使用json_encode
:
$.get("php/building_edit_image_get_db.php", function(your_return_data) {
$("#editimagefile").fileinput({
showUpload: false,
showCaption: false,
overwriteInitial: true,
initialPreview: $.parseJSON(your_return_data),
initialPreviewAsData: true, // identify if you are sending preview data only and not the raw markup
initialPreviewFileType: 'image', // image is the default and can be overridden in config below
browseClass: "btn btn-primary btn-lg",
allowedFileExtensions : ['jpg', 'png','gif']
});
});
或者你可以使用$.getJSON()
代替$.get()
要求,那么你不需要对它进行解析:
$.getJSON("php/building_edit_image_get_db.php", function(your_return_data) {
希望这会有所帮助。