【问题标题】:Accessing jquery data variable in ajax call in server side script在服务器端脚本的 ajax 调用中访问 jquery 数据变量
【发布时间】:2017-03-24 15:13:19
【问题描述】:

我的应用程序中有几个 ajax 调用,它们都转到同一个文件服务器端。我想知道我是否可以使用变量...我想有一种方法来区分调用和其他调用,当然,使用变量来选择文件中的哪个脚本发送回客户端。在脚本以任何方式运行后,我不需要使用该变量。还是我走错了路?

例如,这是我的 ajax 调用之一

var variable1 = 'currentuser1var';

return $.ajax({
          type: 'GET',
          url: '/users/index', 
          data: {currentuser1var: variable1},
          dataType: 'script',
        });

那么我的服务器端文件中的脚本将是

if (currentuser1var) { script here }

else if (currentuser2var) { script here }

...

我不确定如何在对象调用中访问字符串。我需要先访问对象然后再访问字符串吗?或者只是以某种方式引用变量。

编辑尝试过

if(typeof(currentuser1var) != "undefined") { script here }

无济于事。

【问题讨论】:

  • 你的服务器端语言是什么?
  • 如果是php,可以查看变量$_GET或者$_REQUEST
  • 查看@Aj334 的回答。如果您在调用中使用这样的 url,您可能会更清楚:url: '/users/index?currentuser1var='+variable1,.
  • 我在 js.erb 文件中使用 ruby​​ on rails。我搜索并找到了 php 的 isset 并试图找到这个的 js 版本,例如这个帖子 here 它没有显示任何错误,服务器呈现帖子但它们没有显示在页面上。我将附加我尝试过的内容。

标签: javascript jquery ajax


【解决方案1】:

如果您使用的是 PHP,您的服务器端脚本将是:

if(isset($_GET['currentuser1var'])) {


    ... script to process the currentuser1var variable ...


} else if (isset($_GET['currentuser2var'])) {


    ... script to process the currentuser2var variable ...


}

【讨论】:

  • 是的,我在另一篇文章中找到了这个,但我在 js.erb 文件服务器端使用 ruby​​ on rails。请参阅我的附加代码。该脚本不会读过第一个脚本。即第一个if 语句会触发,但之后的任何内容都不会生成页面。但是我会说服务器没有显示错误。当您看不到错误在哪里时,很难调试。感谢您引导我朝着正确的方向前进:)
  • 这是另一个reference to isset() equivalent of JS。还有一个关于[检测未定义的对象属性](stackoverflow.com/questions/27509/…)。
  • 好的,谢谢。也许我会尝试通过提醒我的响应来分解问题,让事情变得简单,看看问题出在哪里。谢谢你的帮助。如果我得到它的工作,我会添加一个答案。
  • 是的,但我一直发现使用 console.log(1) -> console.log(n) 比使用 alert() 好得多,因为警报会在一段时间后让你发疯。 ':D。因此,也许您可​​以查看您的控制台并查看日志记录在哪个编号处停止,然后关注该问题的特定部分。
  • 那么每个语句的编号,看看记录在哪里停止?
【解决方案2】:

Aj 就在这里,我猜是 php,因为我没有列出我正在使用的服务器端代码,但简单地说,我将 ajax 调用更改为

return $.ajax({
  type: 'GET',
  url: '/users/show', 
  data: { currentuser1var: 'variable1'},
});

其中键是currentuser1var,值variable1 是一个字符串,省略在代码中的其他位置定义变量。这样,url 就可以正确地到达服务器 /users/show?currentuser1var=variable1。在我的目标文件中添加我的 ruby​​ 代码以使用变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 2015-10-02
    • 1970-01-01
    相关资源
    最近更新 更多