javascript - Ajax 请求第二个参数未定义

标签 javascript jquery ajax vue.js

我正在使用 Vue.js 执行 Ajax 请求,它有两个参数。第一个没问题,但第二个参数在控制台中记录未定义。我试图了解如何解决此问题,但找不到合适的解决方案。

这是 $.ajax() 代码:

//$.ajax() to add agregators to users
  addAgregators: function(id1, data1) {
    var self = this;
    console.log(id1);
    console.log(data1);//THIS IS THE PARAMETER RETURNING UNDEFINED
    var formData = new FormData();
    formData.append('id1',data1);
    $.ajax({
        url: url + "/addAgregators",
        type: "POST",
        data: {
            agregators: data1,
            id: id1
        },
        dataType: "json",
        data:formData,
        contentType: false,
        cache: false,
        processData: false,
        success:function(obj){
          console.log(obj);//
          this.agr1=obj;
          console.log('success!');
          reDesignAgregators();
        },
        error:function(){
            console.log('error');
        }//end error function
    });//end addAgregators $.ajax() function
  },//end addAgregators function

我应该在单击按钮时添加聚合器,要成功,我必须选择一个用户和一个聚合器,但是当我单击该按钮时,它会给出错误和未定义的第二个参数日志。

这是 HTML:

             <div class="row">
                <div class="col-md-12">
                    <div class="col-md-1">
                        <button id="addagr">
                            <img id="add" v-on:click="addAgregators('<?php echo $value1['id'] ;?>')" src="<?php echo $url;?>/public/images/plus.svg">
                        </button>
                    </div>
                    <div  class="col-md-7" id="addlab">Add Agregator</div>
                </div>
            </div>

希望大家帮帮忙!

聚合器 HTML 代码:

<div id="aggs">
                        <?php 
                        if(!empty($agrusr))
                        { 
                            foreach($agrusr as $value1) 
                            {
                                $username= $value1['username'];
                                if($username=="" || $username==NULL)
                                {
                                    $username="Unatributed";
                                }
                                $id='au'.$value1['id'];?>
                                <div class="row oddEven allAggregatores " id='<?php echo $value1['uid'];?>' >
                                    <div id="<?php echo $id;?>">
                                    <div class="col-md-1">
                                        <input type="checkbox" value=<?php echo $value1['id'];?>  name="agrwithuser[]" value="2">
                                    </div>
                                    <div class="col-md-7">
                                        <span id="items"><?php echo ucfirst($value1['agregator']);?></span>
                                    </div>
                                    <div class="col-md-2">
                                        <div class="colorsByUsers" :style="{backgroundColor: randomColor()}"><?php echo ucfirst($username);?></div>
                                    </div>
                                    </div>
                                </div>

                            <?php 
                            //  echo "<div id=".$id."><input type='checkbox' name='agrwithuser[]' value=". $value1['id'] .">". $value1['agregator']." &nbsp;&nbsp;&nbsp;".$username."<br /></div>";                   
                            }
                        }?>

                    </div>

最佳答案

您的问题是您设置的 data:formData 覆盖了 Ajax 配置中的 data 属性。

并且 formData 只包含您附加在行中的 id1 属性:

formData.append('id1',data1);

这就是为什么你只有一个参数而第二个参数是 undefined

您需要从 Ajax 配置中删除 data:formData 行,并在 HTML 中使用两个参数调用 addAgregators() 函数,如下所示:

<img id="add" v-on:click="addAgregators('<?php echo $value1['id'] , $value1['agregators'] ;?>')" src="<?php echo $url;?>/public/images/plus.svg">

关于javascript - Ajax 请求第二个参数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44022278/

相关文章:

javascript - 如何简化此 switch 语句(Angular 应用程序)

jquery - 使用 Jquery 设置隐藏字段值 $ ('#id' ).attr ("value", 'val' );不能在 IE 中工作

javascript - 这个 JavaScript/jQuery 语法是如何工作的 : (function( window, undefined ) { })(window)?

javascript - 使用ajax刷新谷歌地图标记和infoBubbles

javascript - 是否可以在单击链接时将 "#"附加到 URL?

javascript - 使用javascript从ajax json获取数组

javascript - Microsoft.Web.UI.WebControls TreeView 不工作 IE 11

javascript - 如何从html表格中的选择框获取值

javascript - 如何从异步调用返回响应?

java - 用户进入特定网页后如何禁用刷新按钮?