从ajax调用

时间:2017-03-30 16:49:13

标签: php jquery json ajax

我在default.php中有这段代码:

jQuery(document).ready(function() {
  jQuery(function($) {
    var $from = jQuery("#from"),
      $to = jQuery("#to");

    $from.datepicker({
      numberOfMonths: 1,
      minDate: 1,
      dateFormat: 'dd-mm-yy',
      onClose: function(selectedDate) {
        $to.datepicker("option", "minDate", selectedDate);
      }
    });

    $from.change(function() {

      jQuery.ajax({
        url: 'index.php?option=com_vehiclemanager&task=default2',
        type: 'POST',
        data: {
          datepicker_value: $(this).val()
        },
        success: function(data) {
          $('#result').html(data);
        }
      });
    });

    ...

这是php脚本:

<?php

$database = JFactory::getDBO();

$datepicker_value = isset($_POST['datepicker_value']) ? $_POST['datepicker_value'] : NULL;  
$month = date("m",strtotime($datepicker_value));

  $selectstring = "SELECT * FROM #__vehiclemanager_rent_sal WHERE fk_vehiclesid = 128 AND monthW = '$month'";
  $database->setQuery($selectstring);
  $string = $database->loadObject(); 


header('Content-Type: application/json');
$array[] = array(
'deposito'=>$string->deposit, 
'spese'=>$string->cfee,
);
echo json_encode($array);
?>

我在表中有一个jquery datepicker,我想通过带有ajax调用的数据库查询从php脚本中选择变量,我可以看到json对象[{"deposito":"300","spese":"100"}] 但单个php变量显示我未定义。 我在ajax url中插入了任务,因为文件名将我发送回index.php,即主页,因为这是一个外部插件。 我希望自己解释并感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

而不是$(this).val(),请尝试引用实际元素。这样的事情:$('#from').val()