2014-03-07 25 views
0

我是新来的JavaScript和jQuery,所以我甚至不知道这是可能的在一个jQuery AJAX请求使用for循环

我想运行在一个搜索通过运行一个AJAX请求一系列标题,以便我稍后可以存储返回供以后使用的其他信息。我可以在查询参数中放置一个for循环来实现这个目的吗?我的代码在下面,但它现在不返回任何内容。

$.ajax('http://api.themoviedb.org/3/search/movie', { 
    type: 'GET', 
    dataType: 'jsonp', 
    data: { 
     api_key: myApiKey, 
     query: for (var i = 0; i < movies.length; i++) { 
      console.log(movies[i]); 
     }, 
     success: function (result) { 
      console.log(result); 
     } 
    }); // end search ajax request 
+0

你不能用那个代码做到这一点,但是你可以把整个东西包装在一个循环中。 – alex

+0

该网址似乎并不支持jsonp –

+0

@alex我会如何将整个东西包装在循环中? –

回答

1

您不能将for循环用作对象属性的值。

如果api接受一个数组作为查询参数,那么只需将该数组传递给它。

 data : { 
      api_key : myApiKey, 
      query : movies 
     } 

如果它接受带有逗号splited字符串的字符串,然后通过join方法转换数组字符串。

 data : { 
      api_key : myApiKey, 
      query : movies.join() 
     } 

如果api不支持多个移动搜索一个查询,您必须在循环内发出ajax请求。

+0

谢谢。将ajax请求放在for循环中是有效的。我花了一些时间想想如何写这些。但它现在正在工作。 –