我有这张桌子:
<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。例如,第一个网址为www.domain.com?id=1&report=report
。
好吧现在我让select工作但它只取第一个tr的值而不是其他选择的值。
答案 0 :(得分:0)
我认为这里的主要问题是客户端javascript实际上并不是最合适的方法来实现你想要实现的目标。从表中解析URL并与它们形成AJAX请求本身并不是很棘手,例如参见this 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的限制等等,之后如果您是仍然不知所措,回答一个更具体的问题。祝你好运!