跨域请求获取Solr json检索结果并高亮显示
Solr提供了json格式的检索结果,然而在跨域的情况下如何调用呢?我们可以利用jquery提供的jsonp的方式获取Solr检索结果。
<script type="text/javascript" src="./resources/js/jquery-1.8.2.min.js"></script>
<input type="text" size="50" value="" id="keyword" name="keyword" />
<input type="button" value="搜索" id="search" />
<div id="result"></div>
<script type="text/javascript">
$("#search").click(function() {
var keyword = $("#keyword").val();
var solrServer = "http://localhost:8080/solr/solrfirstcore/select";
$.ajax({
type : "get",
url : solrServer,
data : {
wt : "json",
q : "search_item:" + keyword,
indent : true,
"json.wrf" : 'callback',
"hl" : "true",
"hl.fl" : "title, summary",
"hl.simple.pre" : "<font color=\"red\">",
"hl.simple.post" : "</font>",
"start":"0",
"rows":"20"
},
dataType : "jsonp",
//jsonp : "callback",
jsonpCallback : "callback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
error : function() {
$("#result").html("<font color=\"red\">没有您要查询的结果。</font>");
}
});
}); function callback(data) {
var responseHeader = data.responseHeader;
var response = data.response;
var highlighting = data.highlighting;
var docs = response.docs;
var result = new Array();
result.push("结果数:" + response.numFound + "条,耗时:"
+ responseHeader.QTime / 1000 + "秒");
var hlString = "";
for ( var index in docs) {
var doc = docs[index];
var docid = doc.id;
hl_string = "【ID】:" + doc.id;
var hdoc = highlighting[docid];
var title = doc.title;
var summary = doc.summary;
if(hdoc.title){
title = hdoc.title;
}
if(hdoc.summary){
summary = hdoc.summary;
}
hl_string += ", 【标题】:" + title + ", 【描述】:" + summary; result.push("------------------------------------------------------------");
result.push(hl_string);
} $("#result").html("</br>" + result.join("</br>"));
}
</script>
跨域请求获取Solr json检索结果并高亮显示的更多相关文章
- jQuery使用ajax跨域请求获取数据
jQuery使用ajax跨域请求获取数据 跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的 ...
- JSONP 跨域请求 - 获取JSON数据
如何用原生方式使用JSONP? 下边这一DEMO实际上是JSONP的简单表现形式,在客户端声明回调函数之后,客户端通过script标签向服务器跨域请求数据,然后服务端返回相应的数据并动态执行回调函数. ...
- 关于jquery ajax跨域请求获取response headers问题
背景:最近项目jwt用户认证方式,关于jwt本人就不再赘述,大家可自行百度. jwt token基本流程是这样的: 用户使用用户名密码来请求服务器 服务器进行验证用户的信息 服务器通过验证发送给用户一 ...
- 【C#】WebService接受跨域请求及返回json数据
问题概述 通过Web Service发布服务供客户端调用是一种非常简单.方便.快速的手段,并且服务发布后会有一个服务说明页面,直观明了,如图: 一般情况下,在web页面中的JavaScript中调用W ...
- Json跨域请求数-Jquery Ajax请求
同步请求,async(是否异步) //同步请求,等待并接收返回的结果 var result = $.ajax({ type: "GET", url: address, async: ...
- 4 伪ajax:jsonp、cors 跨域请求
一.同源策略 https://www.cnblogs.com/yuanchenqi/articles/7638956.html 同源策略(Same origin policy)是一种约定,它是浏览器最 ...
- 跨域请求方式之Jsonp形式
在浏览器端才有跨域安全限制一说,而在服务器端是没有跨域安全限制的. 在两个异构系统(开发语言不同)之间达到资源共享就需要发起一个跨域请求. 而浏览器的同源策略却限制了从一个源头的文档资源或脚本资源与来 ...
- AJAX 跨域请求 - JSONP获取JSON数据
Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示 ...
- AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据
由于受到浏览器的限制,ajax不允许跨域通信.如果尝试从不同的域请求数据,会出现安全错误.如果能控制数据驻留的远程服务器并且每个请求都前往同一域,就可以避免这些安全错误.但是,如果仅停留在自己的服务器 ...
随机推荐
- Apache MINA(一)
Apache MINA is a network application framework which helps users develop high performance and high s ...
- Java编程思想学习(三) 初始化与清理
1. 每个重载的方法都必须有独一无二的参数类型列表.(参数顺序的不同也足以区分两个方法,但不建议这样做,会使代码难以维护.) 2. 方法重载时,如果可以重载的方法间只是参数类型不同,传入的数据类型(实 ...
- TYVJ P1403 [NOIP2010]关押罪犯
TYVJ的编译器总是要搞点岔子出来,上次是double必须用f输出而不能用lf,这次又不知道为何CE 于是去了洛谷P1525测试,AC 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1 ...
- JSON后端页面解析
json-lib 请求: http://localhost:8080/MyWeb/pay?cmd=getUrl¶m={"OrderId":"sddd111 ...
- iOS动画中的枚举UIViewAnimationOptions
若本帖转出“博客园”请注明出处(博客园·小八究):http://www.cnblogs.com/xiaobajiu/p/4084747.html 笔记 首先这个枚举属于UIViewAnimation. ...
- Activity的成员变量
// set by the thread after the constructor and before onCreate(Bundle savedInstanceState) is called. ...
- MyEclipse------文件字符输入,输出流读写信息
other.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...
- ecshop后台"云提醒未激活 点击激活" 补丁删除方法
ecshop后台"云提醒未激活 点击激活" 补丁删除方法 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2015-01-15 ecshop后台提 ...
- AngularJS小试牛刀
总看别人说argularjs,knockoutjs,mvvm模式这些,光看不练假把式,于是便在自己的一个小网站上做了个简单的页面应用了下argularjs ,详细地址见 http://www.591j ...
- LINQ to SQL更新数据库操作(转载)
使用LINQ to SQL建模Northwind数据库 在这之前一起学过LINQ to SQL设计器的使用,下面就使用如下的数据模型: 当使用LINQ to SQL设计器设计以上定义的五个类(Prod ...