尝试在jquery ajax帖子中将变量设置为URL的一部分

时间:2012-08-10 17:41:01

标签: javascript jquery ajax

所以我尝试使用jQuery.ajax而不是html表单来发布帖子。这是我的代码:

$.ajax({

type: 'POST', // GET is available if we prefer
url: '/groups/dissolve/$org_ID',
data: data,
success: function(data){
    $('#data_box').html(data);
    }
});

这是我的问题:

当这是一个html格式时,作为URL一部分的$ org_ID实际上会拉取变量并将其作为URL的一部分发送。现在这是在jquery中,它只是将$ org_ID作为文本发送。我怎样才能弄清楚变量$ org_ID是什么?我尝试在javascript中声明它,但我是jquery / javascript的新手,并不知道我在做什么。

谢谢!

3 个答案:

答案 0 :(得分:2)

你是用PHP渲染的吗?在这种情况下,您需要这样做:

url: '/groups/dissolve/<?php print $org_ID; ?>'

否则,您需要执行类似

的操作
var org_id = 'foo'; 
// or
var org_id = '<?php print $org_id ?>';
$.ajax({

type: 'POST', // GET is available if we prefer
url: '/groups/dissolve/'+org_ID,
data: data,
success: function(data){
    $('#data_box').html(data);
    }
});

与PHP不同,你不能在javascript中插入变量,你必须将它们与字符串连接起来。

如果您尝试发布变量(org_id),那么您应该将其放入数据中:

data['org_id'] = org_id;

$.ajax({

type: 'POST', // GET is available if we prefer
url: '/groups/dissolve/',
data: data,
success: function(data){
    $('#data_box').html(data);
    }
});

虽然你可以将params连接到你的url上以便在HTTP请求中发送它们,但是将它们放在一个数据对象中不仅可以让jQuery为你做更多工作。转义HTML实体等(并保持代码更清晰),但也允许您轻松调试和使用ajax()设置。

答案 1 :(得分:0)

在您的数据来源问题中不清楚,但您可以使用以下内容:

url: '/groups/dissolve/'+orgId,

或:

url: '/groups/dissolve/?orgId='+orgId,

答案 2 :(得分:0)

简短的回答,连接

url: '/groups/dissolve/' + $org_ID