这是我的代码,我从日期选择器中选择了一个日期并尝试将其传递到我的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(), '');
});
答案 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.key
以var2
alert(obj.var2);
方式 $.ajax({
url: 'abc.php',
type: 'POST',
data: obj,
success: function(data){
alert(obj.var2); //returns todate now.
console.log("success");
}
});
:
{{1}}