将从PHP发回的数据存储到全局数组中的ajax

时间:2015-04-29 14:30:59

标签: javascript php ajax

我已经成功构建了一个预期寿命计算器,现在想要创建一个图表。我创建了一个存储年龄值的数组X.程序然后使用ajax将x中的每个元素发送到PHP,php将发回结果。

我想将结果存储在全局数组Y中,以便我可以创建图形。问题是值的分配是在成功内部完成的:function {}。之后元素将被丢弃。以下是我的代码:

age();
var yearage = $('input:text[name=ageyr]').val();
value = parseFloat(yearage);
var x = [];
var yVal = [];

var change = [-5,-4,-3,-2,-1,0,1,2,3,4,5];
var stop = false;
for (var i = 0; i <= 10; ++i)
{
x[i] = value +change[i];
}

console.log(x);

$('form.ajax').on('submit',function(event){

var that  =$(this), 
url = that.attr('action'),
type = that.attr('method'),
data ={};
var radio_button_value;

if ($("input[name='sex']:checked").length > 0){
gender = $('input:radio[name=sex]:checked').val();
}

that.find ('[name]').each(function(index,value){

var that = $(this),
name = that.attr('name'),
value = that.val();


data[name] = value;
});   

for (var j = 0; j <= 10; ++j){
var information = {

'sex': gender, 
'ageyr' : x[j],
'agemo' :$('input:text[name=agemo]').val(),
'dateyr': $('input:text[name=dateyr]').val(),
'livepercent':$('input:text[name=livepercent]').val(),
'liveyr':$('input:text[name=liveyr]').val(),
'liveage':$('input:text[name=liveage]').val(),
'liveyrschg' :  $('input:hidden[name=liveyrschg]').val() 



}; 

console.log(information);     
$.ajax({

url: url,
type: type,
data: information, 
dataType : "json",    
success: function(results){
var data = results;    
yVal.push( data.lifeexpyr);


console.log(yVal);

}
});



}

 event.preventDefault();

});

这就是我得到的:
 [&#34; 47.66&#34;]
 [&#34; 47.66&#34;,&#34; 46.62&#34;]
 [&#34; 47.66&#34;,&#34; 46.62&#34;,&#34; 45.57&#34;]
[&#34; 47.66&#34;,&#34; 46.62&#34;,&#34; 45.57&#34;,&#34; 44.52&#34;]
[&#34; 47.66&#34;,&#34; 46.62&#34;,&#34; 45.57&#34;,&#34; 44.52&#34;,&#34; 43.47&#34; ]
 [&#34; 47.66&#34;,&#34; 46.62&#34;,&#34; 45.57&#34;,&#34; 44.52&#34;,&#34; 43.47&#34; ,&#34; 42.42&#34;]
 [&#34; 47.66&#34;,&#34; 46.62&#34;,&#34; 45.57&#34;,&#34; 44.52&#34;,&#34; 43.47&#34; ,&#34; 42.42&#34;,&#34; 41.38&#34;]
[&#34; 47.66&#34;,&#34; 46.62&#34;,&#34; 45.57&#34;,&#34; 44.52&#34;,&#34; 43.47&#34; ,&#34; 42.42&#34;,&#34; 41.38&#34;,&#34; 40.33&#34;]
 [&#34; 47.66&#34;,&#34; 46.62&#34;,&#34; 45.57&#34;,&#34; 44.52&#34;,&#34; 43.47&#34; ,&#34; 42.42&#34;,&#34; 41.38&#34;,&#34; 40.33&#34;,&#34; 39.29&#34;]
[[&#34; 47.66&#34;,&#34; 46.62&#34;,&#34; 45.57&#34;,&#34; 44.52&#34;,&#34; 43.47&#34 ;,&#34; 42.42&#34;,&#34; 41.38&#34;,&#34; 40.33&#34;,&#34; 39.29&#34;,&#34; 38.25&#34 ]
[&#34; 47.66&#34;,&#34; 46.62&#34;,&#34; 45.57&#34;,&#34; 44.52&#34;,&#34; 43.47&#34; ,&#34; 42.42&#34;,&#34; 41.38&#34;,&#34; 40.33&#34;,&#34; 39.29&#34;,&#34; 38.25&#34; ,&#34; 37.21&#34;]

但是在ajax yVal之外是空的!请帮帮我,我是Javascript的新手

0 个答案:

没有答案