Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在joomla中使用jQuery.post()_Jquery_Ajax_Joomla - Fatal编程技术网

如何在joomla中使用jQuery.post()

如何在joomla中使用jQuery.post(),jquery,ajax,joomla,Jquery,Ajax,Joomla,我为joomla创建了一个组件。在这个组件中,我想向用户显示一个表单,获取用户的姓名,并通过ajax将她的姓名发送到服务器。我尝试在default.php文件中从用户获取数据 <?php defined('_JEXEC') or die('Restricted access');?> <div id="results"></div> <input type="text" name="name" id="name" value=""> <

我为joomla创建了一个组件。在这个组件中,我想向用户显示一个表单,获取用户的姓名,并通过ajax将她的姓名发送到服务器。我尝试在default.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>

jQuery(文档).ready(函数(){
jQuery(“#savename”)。单击(函数(){
var name=jQuery('#name').val();
jQuery.post(“/components/contactf/ajax.php?name=“+名称,函数(响应){
jQuery('#results').html(jQuery(response.fadeIn('slow'));
});
});
});
我在“contactf.jquery.post()中的组件名不能调用ajax.php文件。我想问题是
“/components/contactf/ajax.php?name=“+name
。我不知道如何正确设置
jQuery.post()
的参数。我是否需要使用
JPATH\u 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
是相关的控制器文件,
your_函数
是控制器内部的函数

在控制器功能内部

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("#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
是相关的控制器文件,
your_函数
是控制器内部的函数

在控制器功能内部

function your_function(){

  $name = JRequest::getVar('name');
  //Do what ever you want

  exit;
 }
如果您使用的是Joomla 3。x请求如下参数

$jinput = JFactory::getApplication()->input;
$name   = $jinput->get('name');
更多关于


希望它有意义。

在MVC的帮助下创建一个视图,例如

ajax/view.json.php

在您的组件中

然后将post数据发送到此视图

jQuery.post( "index.php?option=com_contactf&view=ajax?name="+name+"&tmpl=component" , function(response){
                   jQuery('#results').html(jQuery(response).fadeIn('slow'));
然后在view.json.php中运行所有php代码并以json格式返回结果


Jan

在MVC的帮助下创建视图,例如

ajax/view.json.php

在您的组件中

然后将post数据发送到此视图

jQuery.post( "index.php?option=com_contactf&view=ajax?name="+name+"&tmpl=component" , function(response){
                   jQuery('#results').html(jQuery(response).fadeIn('slow'));
然后在view.json.php中运行所有php代码并以json格式返回结果


Jan

JHtml::(('jquery.framework')
=Joomla 3,所以不应该使用
JRequest
;)ajax警报返回html页面的源代码!确保在控制器功能中添加了退出@我在评论上犯了一个错误。您仍然应该使用
JHtml::(('jquery.framework')导入jQuery。Jobin Jose在他的答案中提供了Joomla 3.x替代方案,而不是
JRequest
。在Joomla3和3.x中是否有调用ajax的简单示例?!我真的搞糊涂了…:(
JHtml::(('jquery.framework');
=Joomla 3所以你不应该使用
JRequest
;)ajax警报返回html页面的源代码!确保在控制器功能中添加了退出@我在评论上犯了一个错误。您仍然应该使用
JHtml::(('jquery.framework')导入jQuery。Jobin Jose在他的答案中提供了Joomla 3.x替代方案,而不是
JRequest
。在Joomla3和3.x中是否有调用ajax的简单示例?!我真的搞糊涂了…:(