に未定義の「プッシュ」プロパティを読み取ることができませんか? console.log(data)
が機能します。は、アレイ
var myScanObj = {
$el: null,
$res: null,
$searchButton: null,
$resetButton: null,
$hiddenInput: null,
$scanInput: null,
$selectType: null,
barcodes: [],
init: function() {
myScanObj.cacheDom();
myScanObj.bindEvents();
},
cacheDom: function() {
$el = $('.formControl');
$res = $('#result');
$searchButton = $el.find('#searchButton');
$resetButton = $el.find('#resetButton');
$hiddenInput = $el.find('input[name=hiddenField]');
$scanInput = $el.find('input[name=myScan]');
$selectType = $el.find('#myType');
},
bindEvents: function() {
$searchButton.on('click', this.addBarcode.bind(this));
},
addBarcode: function() {
var postForm = {
'myType': $selectType.val(),
'myScan': $hiddenInput.val()
};
$.ajax({
url: "test.php",
type: "POST",
data: postForm,
dataType: "text",
success: this.successAjax
});
},
showBarcode: function() {
},
successAjax: function(data) {
this.barcodes.push(data);
console.log(data);
}
};
myScanObj.init();
これは私test.phpをコードです:
<?php
$output = '';
$output .= $_POST["myType"];
$output .= $_POST["myScan"];
echo $output
?>
'successAjax'関数の' this'があなたのオブジェクトを参照していないからです。 –
AJAXの成功の中にある[$(this)]の重複の可能性があります(http://stackoverflow.com/questions/6394812/this-inside-of-ajax-success-not-working) – John