Php 使用Ajax在Joomla中加载组件数据
我正在将我的组件转换为使用AJAX,以实现更漂亮/更容易/更快/更好的分页和内容加载 我试图跳过第一部分,它只是显示来自mySQL/PHP查询的内容 既然我已经创建了查询,我想为什么要重新发明轮子。。。但是如果我知道一个圆圈是什么样子的话,可以这么说,这会有所帮助 下面是我尝试使用的基本Php 使用Ajax在Joomla中加载组件数据,php,jquery,mysql,ajax,joomla,Php,Jquery,Mysql,Ajax,Joomla,我正在将我的组件转换为使用AJAX,以实现更漂亮/更容易/更快/更好的分页和内容加载 我试图跳过第一部分,它只是显示来自mySQL/PHP查询的内容 既然我已经创建了查询,我想为什么要重新发明轮子。。。但是如果我知道一个圆圈是什么样子的话,可以这么说,这会有所帮助 下面是我尝试使用的基本AJAX/jQuery函数: $.ajaxSetup ({ cache: false }); var loadUrl = "http://www.mgoode.com/index.php";
AJAX/jQuery
函数:
$.ajaxSetup ({
cache: false
});
var loadUrl = "http://www.mgoode.com/index.php";
$("#load_basic").click(function(){
$("#result").load(loadUrl, "option=com_mls&view=list&lprice=100000&pstart=5&plimit=5");
});
我希望将来,当我实现分页时,我可以只更改URL参数中的变量,而不必重新做一大堆事情
我有一个问题。如有任何建议,我将不胜感激
提前谢谢
EDIT:所以,我只记得我所有的元素创建都发生在模板本身中。因此,难怪JSFIDLE只会显示为空白。很抱歉打扰你们。将Joomla与AJAX结合使用是一个非常棘手的问题,但如果文件结构正确,效果会很好 由于您不能向我们提供您的PHP,我将向您传递我最近所做的修改。 我的目标是在模块中使用com_mycomponent,并从数据库中检索一些数据 模块的My default.php(modules/module\u mymodule/tmpl/default.php)如下所示
<form id="myform" name="myform">
<label>Push this to load some data</label>
<input type="text" id="myid" name="myid"/>
<a href="#" id="pushme">Push me</a>
<div id="component data"></div>
</form>?
我希望做的是1)保持当前MVC过程不变,2)在template文件夹中创建一个显示查询数据的PHP页面,3)创建一个AJAX函数,运行带有特定mySQL参数的URL并将其放入元素中。我不知道这是否是一种标准/好的方法,但我希望它能起作用。正如我所看到的,您正在尝试从com_mls的函数中检索内容。如何在模板文件夹中创建页面?我希望能在tmpl文件夹中创建一个“content.php”文件,将数组中的项目放入可读的html中。ie
foreach($key=>$value数组){echo'.$value['city'.];}
。该脚本然后由AJAX脚本运行,AJAX脚本在用户交互上运行。所以它应该是USER->AJAX->“content.php”->AJAX->HTML->USER
,如果这有意义的话。是的,我一开始就知道了,但你的逻辑是错误的。如果要访问特定组件使用的值和文件,必须转换组件本身。在您的情况下是com_mls,否则您必须在content.phpI中调用组件框架。content.php中没有任何内容运行过该查询。我读过关于使用控件中的任务(如您演示的)来完成此任务的内容。我要调查一下。
<?php
defined('_JEXEC') or die;
class MyComponentController extends JControllerLegacy
{
public function myFunction()
{
$id = JRequest::getString('myid', '', 'method', JREQUEST_ALLOWRAW);
//grab the id
$db->setQuery('SELECT username FROM #__mytable WHERE id='.$db->Quote($id));
//fetch data
$json['returned'] = $result->name;
echo(json_encode($json));
}
}
?>
$('a#pushme').click(function(){
$.ajax({
url: 'index.php?option=com_users&format=raw&task=loginme',
data: dataString,
dataType: 'json',
type: 'POST',
success: function(data) {
if(data!=null) {
});