我是
javascript / jquery的初学者,对于API来说是全新的,我想知道是否有人可以帮我一些东西
我想要实现的是让用户在文本框中输入关键字/短语,他们点击搜索,页面返回在他们的推文中包含该单词的人员列表.
到目前为止,我已经能够显示硬编码关键字(我从网站上获得)的结果,但是当我尝试更改它时,我什么也得不到.
这是带硬编码的工作
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $.getJSON('http://search.twitter.com/search.json?q=earthquake&lang=en&callback=?',function (data) { var data = data.results; var html = "<ul>"; for (var i = 0; i < data.length; i++) { html += "<li><a href='http://twitter.com/" + data[i].from_user + "'>@" + data[i].from_user + "</a>: " + data[i].text + "</li>"; } html += "</ul>" $('.content').html(html); }); }); </script> <h2>Twitter</h2> <div class="content"> </div>
这是我现在正在处理的代码
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script> var button= document.getElementById('searchTwitter'); button.onclick= function(){ var text = document.getElementById('search').value; } var baseUrl = "http://search.twitter.com/search"; var query = document.getElementById('<%=searchTwitter.ClientID%>').value; $(document).ready(function () { $.ajax({ url: baseUrl + '&text' + '&lang=en&callback=?',dataType: "jsonp",success: showResults }); }); function showResults(data) { var data = data.results; var html = "<ul>"; for (var i = 0; i < data.length; i++) { html += "<li><a href='http://twitter.com/" + data[i].from_user + "'>@" + data[i].from_user + "</a>: " + data[i].text + "</li>"; } html += "</ul>" $('.content').html(html); } </script> <asp:TextBox ID="search" runat="server"></asp:TextBox> <asp:Button ID="searchTwitter" runat="server" Text="Button" />
任何帮助都会非常感激,因为我一直试图找到一种方法来做这几天.
非常感谢
解决方法
以下是您所描述内容的一个工作示例:
http://jsfiddle.net/ZEjey/.您应该能够使其适应您的ASP代码.
相关代码如下.
JQuery的
$("#SearchButton").click(function() { $.getJSON('http://search.twitter.com/search.json?q=' + $('#TextSearch').val() + '&lang=en&callback=?',function (data) { var data = data.results; var html = "<ul>"; for (var i = 0; i < data.length; i++) { html += "<li><a href='http://twitter.com/" + data[i].from_user + "'>@" + data[i].from_user + "</a>: " + data[i].text + "</li>"; } html += "</ul>" $('.content').html(html); }); });
HTML
<h2>Twitter</h2> Search for: <input id="TextSearch" type="text" /> <input type="button" id="SearchButton" value="Go" /> <div class="content"></div>
—
编辑0
好的,下面的代码有效. < asp:Button会自动导致回发,因此您不会看到任何内容被加载.您需要使用< input type =“button”...代替或使用event.preventDefault()停止发生正常事件;就像我在下面做的那样
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <h2>Twitter</h2> <asp:TextBox id="TextSearch" runat ="server"/> <asp:Button id="SearchButton" runat="server" Text="Search"/> <div class="content"></div> </div> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" ></script> <script> $(document).ready(function () { $("#SearchButton").click(function () { event.preventDefault(); // ADD THIS LINE TO YOUR CODE $('.content').html("<em>loading...<em>"); $.getJSON('http://search.twitter.com/search.json?q=' + $('#TextSearch').val() + '&lang=en&callback=?',function (data) { var data = data.results; var html = "<ul>"; for (var i = 0; i < data.length; i++) { html += "<li><a href='http://twitter.com/" + data[i].from_user + "'>@" + data[i].from_user + "</a>: " + data[i].text + "</li>"; } html += "</ul>"; $('.content').html(html); }) .success(function() { alert("second success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); }); }); }); </script> </form> </body> </html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。