Javascript 带有API变量的Ajax URL属性

Javascript 带有API变量的Ajax URL属性,javascript,jquery,ajax,Javascript,Jquery,Ajax,我只想在Ajax调用的URL中指定用户ID和API键: 目前正在做: $.ajax({ url: "https://www.googleapis.com/plus/v1/people/115332174513505898112?key=AIzaFrCzbKLawSPG8C0tjZDozO1bSWx49mJm13s", context: document.body, dataType: 'jsonp', success: function(data){ //blah

我只想在Ajax调用的URL中指定用户ID和API键:

目前正在做:

$.ajax({
  url: "https://www.googleapis.com/plus/v1/people/115332174513505898112?key=AIzaFrCzbKLawSPG8C0tjZDozO1bSWx49mJm13s",
  context: document.body,
  dataType: 'jsonp',
    success: function(data){
      //blah...
    }
});
但是,我希望能够动态设置UserID和API键,因此希望URL中的值是动态的:

例如

但是,一旦定义了
$.ajax({
函数)中的变量,JavaScript就会停止工作,我会得到一个错误:

missing : after property id
[Break On This Error] var userId = 115332174513505898112; 

我做错了什么,我肯定我以前做过这件事?

你必须在对象
{}
和函数调用
$.ajax()
之外定义变量(var语句)和函数调用
$.ajax()

您应该将变量的值放在引号中

此外,您不能在对象内编写任何javascript代码-您需要在对象外声明变量,并在对象内引用它们-如下所示:

var userId = "115332174513505898112";
var apiKey = "AIzaSyCzbKLawSPG8C0tjZDozO1bSWx49mJm13s";

$.ajax({
  url: "https://www.googleapis.com/plus/v1/people/" + userId + "?key=" + apiKey,
  context: document.body,
  dataType: 'jsonp',
    success: function(data){
      //blah...
    }
});

你应该把变量的值用引号引起来

此外,您不能在对象内编写任何javascript代码-您需要在对象外声明变量,并在对象内引用它们-如下所示:

var userId = "115332174513505898112";
var apiKey = "AIzaSyCzbKLawSPG8C0tjZDozO1bSWx49mJm13s";

$.ajax({
  url: "https://www.googleapis.com/plus/v1/people/" + userId + "?key=" + apiKey,
  context: document.body,
  dataType: 'jsonp',
    success: function(data){
      //blah...
    }
});

使用此代码。字符串必须包含在
(引号)中。此外,您不能在
{…}
(对象,不要与函数/循环/条件体的标记混淆)中使用
var
定义变量


使用此代码。字符串必须包含在
(引号)中。此外,您不能在
{…}
(对象,不要与函数/循环/条件体的标记混淆)中使用
var
定义变量

这应该做到:

var userId = "115332174513505898112";
var apiKey = "AIzaSyCzbKLawSPG8C0tjZDozO1bSWx49mJm13s";
$.ajax({
  url: "https://www.googleapis.com/plus/v1/people/" + userId + "?key=" + apiKey,
  context: document.body,
  dataType: 'jsonp',
    success: function(data){
      //blah...
    }
});
注意事项:

  • userId
    apiKey
    的值周围加引号(在
    userId
    值周围可能不需要引号;在
    apiKey
    周围绝对需要引号)
  • 您可以在实际的
    ajax
    函数调用之外定义这些函数
我假设代码已经在函数中,例如:

function foo() {
    var userId = "115332174513505898112";
    var apiKey = "AIzaSyCzbKLawSPG8C0tjZDozO1bSWx49mJm13s";
    $.ajax({
      url: "https://www.googleapis.com/plus/v1/people/" + userId + "?key=" + apiKey,
      context: document.body,
      dataType: 'jsonp',
        success: function(data){
          //blah...
        }
    });
}
如果没有,请将其放在一个中,以避免使用那些
var
语句创建全局变量。

这应该可以做到:

var userId = "115332174513505898112";
var apiKey = "AIzaSyCzbKLawSPG8C0tjZDozO1bSWx49mJm13s";
$.ajax({
  url: "https://www.googleapis.com/plus/v1/people/" + userId + "?key=" + apiKey,
  context: document.body,
  dataType: 'jsonp',
    success: function(data){
      //blah...
    }
});
注意事项:

  • userId
    apiKey
    的值周围加引号(在
    userId
    值周围可能不需要引号;在
    apiKey
    周围绝对需要引号)
  • 您可以在实际的
    ajax
    函数调用之外定义这些函数
我假设代码已经在函数中,例如:

function foo() {
    var userId = "115332174513505898112";
    var apiKey = "AIzaSyCzbKLawSPG8C0tjZDozO1bSWx49mJm13s";
    $.ajax({
      url: "https://www.googleapis.com/plus/v1/people/" + userId + "?key=" + apiKey,
      context: document.body,
      dataType: 'jsonp',
        success: function(data){
          //blah...
        }
    });
}
如果不是,则将其放在一个中,以避免使用那些
var
语句创建全局变量