Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php for循环中的JQuery ajax函数行为怪异_Php_Javascript_Jquery_Ajax_Codeigniter - Fatal编程技术网

Php for循环中的JQuery ajax函数行为怪异

Php for循环中的JQuery ajax函数行为怪异,php,javascript,jquery,ajax,codeigniter,Php,Javascript,Jquery,Ajax,Codeigniter,“get_ing_id”获取一个字符串,查找数据库并根据该字符串检索相关的id数据。在本例中,它需要检索“65”和“66”,当代码执行时,它会成功地检索到这两个字段 var ings = []; var ingsSearch = []; var i = 2; var k = 0; ings[0] = 'apple'; ings[1] = 'banana'; function next(){ for(j=0;j<i;j++){ if(ings

“get_ing_id”获取一个字符串,查找数据库并根据该字符串检索相关的id数据。在本例中,它需要检索“65”和“66”,当代码执行时,它会成功地检索到这两个字段

var ings = [];
var ingsSearch = [];
var i = 2;
var k = 0;
ings[0] = 'apple';
ings[1] = 'banana';

    function next(){
        for(j=0;j<i;j++){
            if(ings[j] != 0){           
                $.ajax({
                    url: burl+'index.php/ajax/get_ing_id',
                    type: 'POST',   
                    data: 'name='+ings[j],
                    success: function(data){    
                        ingsSearch[k] = data;
                        alert(ingsSearch[k]);
                        k++;
                        alert(k);
                    }
                });                     
            }

        }   
    alert(ingsSearch[0]);
    alert(ingsSearch[1]);

    }
var-ings=[];
var Ingsearch=[];
var i=2;
var k=0;
ings[0]=“苹果”;
ings[1]=“香蕉”;
函数next(){

对于(j=0;j请尝试将
ajax
对象的
async
属性设置为
false
。默认值为
true
,因此不能保证调用将按顺序完成:

$.ajax({
    async: false,
    // ..
});

  • 您必须了解,默认情况下,AJAX是异步的-服务器一响应就调用success函数,这很可能发生在调用两个
    alert
    语句之后;因此
    lngsSearch[0]
    lngsSearch[1]
    在您试图输出它们时,实际上还没有设置它们。

    该死,这解决了一个完全无关的问题,这个问题困扰了我一段时间。每天都在学习新的东西(:将
    async
    设置为false是不可取的,因为它将完全停止页面,直到服务器响应。请尝试避免这种情况,并使用回调机制。