0
我有一個工作的JQuery使用的Ajax,並通過JSON響應更改頁面上列出的內容。通過Ajax,JSON,JQuery更改嵌入的Youtube視頻
它可以與文本完美配合,但是,現在我打算使用相同的代碼,但是會顯示一個視頻,而不是在顯示mpg的位置。但是,它只是顯示來自YouTube的嵌入代碼的文本。
的HTML網頁,其中獲得JSON響應:
$(document).ready(function()
{
$("#submitbutton").click(function()
{
$.ajax(
{
url: "https://example.com/jsonServer.php",
type: "GET",
dataType: "jsonp",
jsonp: "callback",
data: { carselection: $("#carselection").val()},
success: function(data)
{
if(data.name == "error")
{
$("#outputcarname").text("There is no such car available"),
$("#price").text(" "),
$("#mpg").text(" ");
}
else
{
$("#outputcarname").text(data.name),
$("#price").text(data.price),
$("#mpg").text(data.mpg);
}
},
error: function()
{
$("#outputcarname").text("There is a problem with the server"),
$("#price").text(" "),
$("#mpg").text(" ");
}
});
return false;
});
});
</script>
JSON服務器:
*請注意,我已經取代之一MPG與直接從YouTube嵌入代碼,並再次,這個嵌入代碼顯示準確就像在英寸的地區。
<?php
$cars = array('Maxima' => array('price' => '$32,780', 'mpg' => '24'),
'Prius' => array('price' => '$25,565', 'mpg' => '49'),
'Element' => array('price' => '$22,075', 'mpg' => '<iframe width="560" height="315" src="http://www.youtube.com/embed/enXTiYWQl-0" frameborder="0" allowfullscreen></iframe>'));
if(array_key_exists($_GET['carselection'], $cars))
{
$carname = $_GET['carselection'];
$results = array('name' => $carname, 'price' => $cars[$carname]['price'], 'mpg' => $cars[$carname]['mpg']);
}
else
{
$results = array('name' => 'error');
}
$callback = htmlentities($_GET['callback'], ENT_QUOTES);
print $callback . '(' . json_encode($results) . ')';
?>
我的希望是,瀏覽器會接受的標籤,顯然顯示視頻,但我猜jquery.text是保持它作爲真正的文本。也許還有另一個功能,我不知道我應該使用?
有時它只是這麼簡單!非常感謝! – ZAX