Php 使用Ajax在Joomla中加载组件数据

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,以实现更漂亮/更容易/更快/更好的分页和内容加载

我试图跳过第一部分,它只是显示来自mySQL/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)   {
});