Javascript 类迭代中的属性返回对象而不是字符串

Javascript 类迭代中的属性返回对象而不是字符串,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有多个divs,它们在我的页面上有一个属性,例如: <div class="followCallout" id="follow_123" data-follow-id="123"> WHATEVER </div> .... <div class="followCallout" id="follow_456" data-follow-id="456"> WHATEVER </div> $url来自这里 但是,我发送的URL如下所示

我有多个
div
s,它们在我的页面上有一个属性,例如:

<div class="followCallout" id="follow_123" data-follow-id="123">
    WHATEVER
</div>
....
<div class="followCallout" id="follow_456" data-follow-id="456">
    WHATEVER
</div>
$url
来自这里

但是,我发送的URL如下所示:

http://localhost/cCRM/web/app_dev.php/admin/_ajax/_checkFollow?[对象%20Object]&=1497624513190


因此,它没有给我
checkFollow?id=123
而是给了我
checkFollow?[object%20Object]
所以我假设我的ajax调用有什么问题?我在其他部分也使用了完全相同的调用(不使用$。每个调用,仅使用单个调用)。我哪里错了?

您确实错了
var$url=$(“#ajax路由检查跟随”).val()这不可能是正确的。您需要为每个div构建URL。
$('#ajax路由检查follow').val()中的值已经坏了。将对象转换为字符串时会得到
[object object]
,因此:
“foo”+{}+“bar”
给出
“foo[object object]bar”
%20
是因为字符串得到了URL编码。这可能是一件好事。我使用symfony3,所以我在我的twig模板中生成一个url,并在javascript中获取该url,因为我不知道如何在javascript中获取twig变量(不同的故事)。
val
/cCRM/web/app\u dev.php/admin/\u ajax/\u checkFollow
,所以它应该没有任何问题吧?我也可以硬编码,同样的输出…只是一个小小的旁注:您正在使用的命名约定,在变量名前加$,应该用于jQuery对象$这很有意义,因为它是一个表示元素的jQuery对象。但是$url和$id不是jQuery对象,它们是基本值——它们也可以是对象,但想法不会改变——如果你想继续下去,我建议你只在变量引用jQuery元素时使用$prefix
function checkFollows() {
var t = setTimeout(checkFollows, 5000);

$('.followCallout').each(function(){
    var $that = $(this);
    var $id = $that.attr('data-follow-id');
    var $url = $('#ajax-route-check-follow').val();
    console.log($id); //THIS RETURN 123 etc...
    $.ajax({
        url: $url,
        data: {
            id: $id
        },
        type: "get",
        contentType: false,
        processData: false,
        cache: false,
        dataType: "json",
        error: function (err) {

        },
        success: function (data) {

        }
    });
  })
}