我正在zend框架中逐步学习AJAX。我将此问题用作第一步,并且该问题的可接受答案对我有用。现在,我想使用JSON加载多个DIV。这是我的计划。
IndexController.php:
class IndexController extends Zend_Controller_Action {
public function indexAction() { }
public function carAction() { }
public function bikeAction() { }
}
index.phtml:
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="js/ajax.js"></script>
<a href='http://practice.dev/index/car' class='ajax'>Car Image</a>
<a href='http://practice.dev/index/bike' class='ajax'>Bike Image</a>
<div id="title">Title comes here</div>
<div id="image">Image comes here</div>
car.phtml :
<?php
$jsonArray['title'] = "Car";
$jsonArray['image'] = "<img src='images/car.jpeg'>";
echo Zend_Json::encode($jsonArray);
?>
bike.phtml:
<?php
$jsonArray['title'] = "Bike";
$jsonArray['image'] = "<img src='images/bike.jpeg'>";
echo Zend_Json::encode($jsonArray);
?>
ajax.js:
jQuery(document).ready(function(){
jQuery('.ajax').click(function(event){
event.preventDefault();
// I just need a js code here that:
// load "Car" in title div and car2.jped in image div when "Car Image" link clicked
// load "Bike" in title div and bike2.jped in image div when "Bike Image" link clicked
});
});
我想你已经明白了。当单击任何带有class
=’ajax’的链接时,表示它的AJAX调用。phtml文件(car.phtml,bike.phtml)中的array(标题,图像)的索引表明应在DIV中加载此内容。
我的问题:
现在,如果它以
json
形式获取数据,如何实现ajax.js来完成这项工作?
谢谢
使用Zend
Framework将JSON编码为
echo Zend_Json::encode($jsonArray);
如果您已经使用JSON进行序列化,则不要以HTML标签发送图像。这样做的缺点基本上是JavaScript代码除了将图像粘贴到页面中的某处之外不能对图像做太多事情。相反,只需将路径发送到JSON中的图像即可。
$jsonArray = array();
$jsonArray['title'] = "Hello";
$jsonArray['image'] = "<img src='images/bike.jpg' />";
在客户端,收到的JSON将如下所示:
{
"title": "Hello",
"image": "<img src='images/bike.jpg' />"
}
因此,jQuery代码需要循环遍历每个键,然后使用匹配的键“ image1”或“ image2”将新图像注入div。
jQuery('.ajax').click(function(event) {
event.preventDefault();
// load the href attribute of the link that was clicked
jQuery.getJSON(this.href, function(snippets) {
for(var id in snippets) {
// updated to deal with any type of HTML
jQuery('#' + id).html(snippets[id]);
}
});
});
问题内容: 我已经将Zend_Form_Element_Hash包含在一个表单multicheckbox表单中。我将jQuery设置为在单击复选框时触发AJAX请求,我将令牌与此AJAX请求一起传递。第一个AJAX请求效果很好,但随后的请求失败。 我怀疑可能是令牌通过验证之后才从会话中删除(跳= 1)。 使用Zend Framework Hash保护表单但使用AJAX完成其中一些请求的攻击计划是什
问题内容: 我正在使用JSON传输数据。 我需要在HTML页面中使用Ajax读取仅在脚本中包含一个JSON对象的文件吗? 我是否也需要jQuery,或者是否可以使用Ajax加载该JSON文件? 在不同的浏览器上是否有所不同? 问题答案: 您不需要任何库,香草javascript中的所有内容均可用,以获取json文件并进行解析:
问题内容: 我熟悉以普通方式在jQuery中使用ajax。 我已经玩了一段时间了,但是不了解Wordpress使其正常工作需要 什么… 我在这里所摘录的内容来自一些教程或文章。 这在 functions.php中 (在子主题中): jQuery本身正在加载并正常工作。 我已经尝试过一些基本的ajax,如下所示: 除此之外,我不知道如何测试以确保它是否从一开始就正确地加载了…… 在这里的任何帮助,将
我有一个以下格式的csv文件,第一列是id,第二列是name,第三列是Dept,这个文件有700K多行。我试图通过使用SQL Loader在oracle表中只移动部门10、90、30和70的详细信息。 请帮帮我。如何在控制文件中使用多个条件
我想计算一天内每个产品的每个IP访问计数。 一个索引中有三个参数(nginx访问日志): 时间戳 客户IP product\u id 我知道date\u直方图可以参考https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.
我想通过传递一个网址来加载多个图像。与本教程不同http://www.learn2crack.com/2014/06/android-load-image-from-internet.html其中只有一个图像被下载并使用img.setImageBitmap(图像)查看;我的问题是如何将url发送到一个方法以加载该url的图像,该方法返回一个图像,然后我在图像视图中显示它。