我正在切换我的组件以使用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参数中的变量,而不必重新做一堆东西。
我有一个JSFiddle HERE。我很感激任何建议。
提前致谢!
编辑:所以,我只记得我的所有元素创作都发生在模板本身。所以,难怪JSFiddle只会显示空白。很抱歉打扰你们。
答案 0 :(得分:1)
将Joomla与AJAX结合使用非常棘手,但如果正确构建文件,则可以正常工作
由于您无法向我们提供您的PHP,我将通过您最近的修改。 我的目标是在模块中使用com_mycomponent并从db
中检索一些数据模块的default.php(modules / mod_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>?
获取ID以进行简单的SQL查询是一种非常好的形式
在我的组件上我必须修改controller.php(component / com_mycomponent / controller.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));
}
}
?>
上面的代码使用已发布的ID进行查询并返回一些数据 至少但不是我的jQuery函数
$('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) {
});