繁体   English   中英

通过ajax成功函数传递参数

[英]Passing parameters through Ajax success function

我有一个 ajax 函数:

function abc(url){    
$.ajax({
                url:'/account/search',
                type:'GET',
                success:update(url),
                error:function(error){
                    console.log(error);
                }
            });
}

成功后,有一个函数调用来更新:

   function update(response,url){
            list = response.data;
            var i=0;
            var q = list.length;
}

但它抛出错误:无法在控制台中读取未定义的属性“长度”

由于更新函数已经从另一个文件接收数据,它来自参数响应,所以我无法删除它。

请提供如何正确地将参数(即本例中的“url”)从 AJAX 调用传递到更新函数的建议。

谢谢

您将需要另一个功能。 success回调本身只收到一个参数:AJAX 响应。 如果您需要第二个,则需要在两者之间进行函数调用。

function abc(url){    
  $.ajax({
                url:'/account/search',
                type:'GET',
                success: function(data){ update(data, url); },
                error:function(error){
                    console.log(error);
                }
            });
}

试试这个成功不传递任何参数

function abc(url)
{    
  $.ajax({
                url:'/account/search',
                type:'GET',
                success: update,
                error:function(error){
                    console.log(error);
                }
            });
}



function update(data){
            console.log(data)
            var q = data.length;
}

试试这个:它可能在这种情况下工作。 使用此绑定值可能有效。

 function addRemoveQuestion(id){ var formData = $("#q_"+id).serialize() $.ajax({ method: "POST", url: window.location.href, data: formData, success: handleFormSuccess.bind(this, id) , error: handleFormError, }) } function handleFormSuccess( data, response,textStatus, jqXHR){ console.log( data)//id console.log(textStatus) console.log(jqXHR) console.log("#btn_"+data ) }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM