0

我有这张桌子:

<table class="results" id="summary_results">
   <tr>
       <td>select all</td>
       <td>name</td>
       <td>id</td>
       <td>address</td>
       <td>url</td>
   </tr>
   <tr>
       <td>
           <input type="checkbox">
       </td>
       <td>john doe</td>
       <td>1</td>
       <td>33.85 some address</td>
       <td>http://www.domain.com</td>
   </tr>
   <tr>
       <td>
         <input type="checkbox">
       </td>
       <td>jane doe</td>
       <td>2</td>
       <td>34.85 some address</td>
       <td>http://www.domain2.com</td>
   </tr>
   <tr>
       <td>
           <input type="checkbox">
       </td>
       <td>sam</td>
       <td>3</td>
       <td>33.86 some address</td>
       <td>http://www.domain3.com</td>
  </tr>
</table>

我想选择所有行,然后下载 URL 的内容,知道每个 URL 都链接到 ID。例如,第一个 url 将是www.domain.com?id=1&report=report.

好的,现在我让选择工作,但它只取第一个 tr 的值,而不是其他选定的值。

4

1 回答 1

0

我认为这里的主要问题是客户端javascript并不是真正实现您似乎想要实现的目标的最合适方法。从表中解析 URL 并用它们形成 AJAX 请求本身并不是很棘手,例如参见这个 jsfiddle。然而,正如 wsanville 在评论中指出的那样,AJAX 存在跨域限制,限制了调用任意 URL 的能力。

如果您不想离开页面,那么更可行的方法是检索 jsfiddle 中使用的方法中的 URL,然后将该列表发布到您自己的服务器。然后,您将能够在服务器上检索 URL 数据并执行更复杂的操作,然后再将数据发送回用户。类似于以下内容:

$.ajax({
  url:'/load_urls', //this is assuming you have some routing for the load_urls endpoint
  data:urls, //assuming you have the list of urls in a var called 'urls'
  method:'POST',
  success:function(data){
    //do something with your data
  },
  error:function(err){
    console.log(err); //it broke
  }

});

我认为总体而言,您可能应该退后一步,重新评估您想要发生的事情,并查看您将要检索的 URL 的约束等等,然后如果您仍然处于loss 带着一个更具体的问题回来了。祝你好运!

于 2012-11-16T23:45:06.193 回答