我为 joomla 创建了一个组件。在这个组件中,我想向用户显示一个表单并获取用户的名称,然后通过 ajax 将她的名称发送到服务器。我尝试使用此代码在默认情况下从用户获取数据。 php 文件。
<?php
defined('_JEXEC') or die('Restricted access');?>
<div id="results"></div>
<input type="text" name="name" id="name" value="">
<input type="button" class="button" id="savename" value="Save Name">
<?php
$document = JFactory::getDocument();
JHtml::_('jquery.framework');
?>
<script>
jQuery(document).ready(function(){
jQuery("#savename").click(function(){
var name = jQuery('#name').val();
jQuery.post("/components/contactf/ajax.php?name="+name , function(response){
jQuery('#results').html(jQuery(response).fadeIn('slow'));
});
});
});
</script>
我在“contactf”.jquery.post()中的组件名称无法调用ajax.php文件。我认为问题是
"/components/contactf/ajax.php?name="+name
。我不知道如何正确设置 jQuery.post()
的参数。ِ我需要吗使用JPATH_BASE
??
最佳答案
尝试类似,
jQuery("#savename").click(function(){
var name= jQuery("#name").val();
var data = 'name='+name;
jQuery.ajax({
type: "POST",
url: "index.php?option=com_yourcomponent&task=yourcontroller.your_function",
data: data,
success: function(data){
alert(data);
}
});
});
这里yourcontroller
是相关的 Controller 文件,your_function
是 Controller 内部的函数。
在 Controller 函数内部
function your_function(){
$name = JRequest::getVar('name');
//Do what ever you want
exit;
}
如果您使用的是 Joomla 3.x 请求参数如下。
$jinput = JFactory::getApplication()->input;
$name = $jinput->get('name');
希望它有意义..
关于jquery - 如何在 joomla 中使用 jQuery.post(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21404968/