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

Trying to set variable as part of URL in jquery ajax post

本文关键字:设置 变量 URL 一部分 jquery ajax      更新时间:2023-09-26

所以我正在尝试使用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是全新的,真的不知道我在做什么。

谢谢!

你在 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);
    }
});

虽然您可以将参数连接到您的 url 以在 HTTP 请求中发送它们,但将它们放在数据对象中不仅可以让 jQuery 为您做更多工作并转义 HTML 实体等(并保持代码更干净),而且还允许您轻松调试和使用ajax()设置。

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

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

或:

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

简答题,连接

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