【发布时间】:2013-08-21 20:31:44
【问题描述】:
问题
我正在尝试在 javascript 中查询一个 rest API 并使用 jQuery 来解析并将结果插入到我的网页中。当进行查询时,我相信它会提交搜索表单并重新呈现页面,从而删除我刚刚查询和插入的所有元素。
是否可以从 rest api 获取 JSON 对象而不重新渲染网页?
这是我用来提出请求的内容:
function get_data(){
var url = "www.rest_api/search_term&apikey=My_Key"
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", url, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}
搜索词来自一个简单的输入表单,并在点击提交按钮时提交。我的目标是将此网页保留在单个页面上,并避免出现结果页面。
我尝试过的
Get JSON data from external URL and display it in a div as plain text
http://api.jquery.com/jQuery.getJSON/
请求网址示例:
【问题讨论】:
-
这一切都取决于 - api 是否支持 JSONP?
-
停止使用提交时重新加载页面的表单并坚持使用 ajax 调用?
-
@adeneo 到目前为止,我已经能够通过在函数结束时始终返回 false 来做到这一点,但是当我使用函数获取 json 时,我似乎无法绕过提交页面。
-
@NeilS 我发现它确实支持文档中的 JSONP。
-
在按钮的点击事件中添加
event.preventDefault(),或者onclick='functionName();return false;'
标签: javascript jquery html rest