作为jQuery和AJAX基础知识的新手,我一直在尝试设置一些相当简单的动态加载.
我包含一个设置click事件处理程序的.js文件,它看起来像这样:
var baseurl = document.getElementById("baseurl").getAttribute("href");
var pattern = new RegExp("[^/]+");
var page = "cnt/" + pattern.exec(window.location.href.substr(baseurl.length)) + ".php";
$(document).ready(function(){
$('a.ajax').bind('click',function(event){
event.preventDefault();
$('#content').load("cnt/" + pattern.exec(this.href.substr(baseurl.length)) + ".php")
})
});
Run Code Online (Sandbox Code Playgroud)
请注意,我对文件进行了一些更改,因此相对href"testing /"将变为文件"cnt/testing.php"的绝对路径.
我的锚标签看起来像这样:
<a href="testing/" class="ajax">Link to testing page</a>
Run Code Online (Sandbox Code Playgroud)
我的问题是,无论何时将新内容加载到div#content中,我的.js文件中的处理程序都不会注册任何可能使用AJAX出现的链接.换句话说,链接将简单地充当普通的锚标签.我希望它使用AJAX加载下一页,就像它与第一页一样.
如何将以下内容转换为Parallel.ForEach?
public async void getThreadContents(String[] threads)
{
HttpClient client = new HttpClient();
List<String> usernames = new List<String>();
int i = 0;
foreach (String url in threads)
{
i++;
progressLabel.Text = "Scanning thread " + i.ToString() + "/" + threads.Count<String>();
HttpResponseMessage response = await client.GetAsync(url);
String content = await response.Content.ReadAsStringAsync();
String user;
Predicate<String> userPredicate;
foreach (Match match in regex.Matches(content))
{
user = match.Groups[1].ToString();
userPredicate = (String x) => x == user;
if (usernames.Find(userPredicate) != user)
{
usernames.Add(match.Groups[1].ToString());
}
}
progressBar1.PerformStep();
} …Run Code Online (Sandbox Code Playgroud) 我想为Google搜索创建一个简单的异步请求.
根据谷歌的说法,最简单的方法是使用他们的JSON API和简单的curl请求
curl -e http://www.my-ajax-site.com \ 'https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris%20Hilton'
Run Code Online (Sandbox Code Playgroud)
我想拉出前5页的结果,并将每个结果的URL添加到数组中.我发现在HttpClient.GetAsync上找到任何解释良好的教程都难以置信.我没有比这更进一步:
public String[] search(String term = "")
{
var rq = new HttpClient();
var uri = new Uri("https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=site:" + term);
rq.GetAsync(uri);
}
Run Code Online (Sandbox Code Playgroud)
我想这应该启动一个任务,所以我不会阻止主线程,但是如何在请求完成时注册一个回调方法?