ajax将变量返回为undefined

时间:2015-08-12 09:19:42

标签: php jquery ajax

这是我的代码,我从日期选择器中选择了一个日期并尝试将其传递到我的php页面。但是当我尝试使用ajax时。它将变量返回为undefined。我对它一无所知。任何帮助将非常感激。感谢

import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';

moduleForComponent('change-device-status', 'Integration | Component | change device status', {
  integration: true
});

test('it renders', function(assert) {
  assert.expect(3);

  // Set any properties with this.set('myProperty', 'value');
  // Handle any actions with this.on('myAction', function(val) { ... });

  this.set('dev', {
    status: 'InUse'
  });

  this.render(hbs`{{change-device-status content=dev}}`);

  assert.equals(this.$().text().trim(), '');
});

3 个答案:

答案 0 :(得分:0)

var2实际上并未定义,除非作为您传递给脚本的参数中的键。

如果您从var2输出abc.php,则可以通过将data解析为JSON或将内容类型设置为JSON并使用data['var2']

来访问它
$("#datepicker").datepicker({
    onSelect: function() {
        var selectedDate = $(this).datepicker( 'getDate' ); //the getDate method
        var today=new Date();
        $.ajax({
             url: 'abc.php',
             type: 'POST',
             data: { var1 : selectedDate, var2 : today },
             dataType: 'json',
             success: function(data){
                 alert(data['var2']);
                 console.log("success");
             }
        });
     }
});

答案 1 :(得分:0)

var2不是变量,它只是您将数据发送到服务器的密钥。 您可以在服务器页面abc.php上获取数据,如

echo $_REQUEST['var2'];

这将在成功方法

中返回
success: function(data){
            alert(data); //returns undefined
            console.log("success");
        }

将提醒从服务器获取的数据的值。

答案 2 :(得分:0)

但是当我尝试使用ajax时。它将变量返回为undefined。

您编写代码的方式输出正确。 那应该未定义 。因为您正在尝试警告js对象键,并且在不引用对象本身的情况下无法使用该键。

所以,如果你这样做:

var obj = { var1 : selectedDate, var2 : today };

并在您的ajax中传递此对象并引用object.keyvar2 alert(obj.var2);方式 $.ajax({ url: 'abc.php', type: 'POST', data: obj, success: function(data){ alert(obj.var2); //returns todate now. console.log("success"); } });

{{1}}