【问题标题】:Trying to set variable as part of URL in jquery ajax post试图在 jquery ajax post 中将变量设置为 URL 的一部分
【发布时间】:2012-08-10 17:41:00
【问题描述】:

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

谢谢!

【问题讨论】:

  • “它是 html 表单的一部分”如何是隐藏字段?

标签: javascript jquery ajax


【解决方案1】:

你是用 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() 设置。

【讨论】:

  • 还假设这个 javascript 是在 PHP 页面中定义的。
  • @bokonic,附加 +org_ID 似乎确实将变量附加到 URL,这样我就更近了一步。但是,$org_ID 是 PHP 中定义的变量。如何获取我现在必须在 javascript 中定义的 org_ID 变量以等于 PHP 变量?
  • 只要做var org_id = '&lt;?php print $org_id; ?&gt;';,假设你在php中生成JS。如果没有,您需要对返回变量/一些 JSON 的 php 页面进行 ajax 调用...
  • var org_id = '';不起作用,但如果我只是设置一个静态值,如 var org_id = 7;,它工作正常。好像不太喜欢里面的 PHP 代码。
  • @Progger 你可能没有通过 PHP 传递带有这个 JS 的页面;如果您查看文件上的源代码是 吗?或者它是空白的(会有 ... 语句的地方)——如果它是空白的,那么变量没有在 PHP 中设置。如果是
【解决方案2】:

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

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

或:

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

【讨论】:

    【解决方案3】:

    简答,连接

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-10
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多