Jquery 如何知道solr服务器是否正在运行
我有一个我无法解决的问题。部分原因是我无法用正确的术语解释它。我不熟悉这个问题,很抱歉问了这个笨拙的问题 下面你可以看到我的目标概述 我使用的是MagentoCE1.7.0.2和Solr4.6.0Jquery 如何知道solr服务器是否正在运行,jquery,ajax,magento,solr,Jquery,Ajax,Magento,Solr,我有一个我无法解决的问题。部分原因是我无法用正确的术语解释它。我不熟悉这个问题,很抱歉问了这个笨拙的问题 下面你可以看到我的目标概述 我使用的是MagentoCE1.7.0.2和Solr4.6.0 var url1 ="http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?"; $.getJSON(url1,function(result){ // my logic }); 当Solr服务器运行时,表示此
var url1 ="http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?";
$.getJSON(url1,function(result){
// my logic
});
当Solr服务器运行时,表示此脚本工作正常。但如果我的Solr服务器未运行,则表示它无法工作
但我的目标是这样写这个剧本
if( Solr Server is Running){
var url1 ="http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?";
$.getJSON(url1,function(result){
// my logic-1
});
}else{
// my logic-2
}
那么,我如何知道Solr服务器是否正在运行呢
&我知道这是重复的问题,但我从来没有找到解决方案,所以请忽略它
有什么想法吗?我不知道SOLR是如何工作的,但正确的jQuery应该是:
$.ajax({
type: "GET",
url: "http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?",
dataType: "json",
success: function (result) {
// is working
},
error: function (result) {
// probably not
}
});
在尝试连接之前,请使用
setTimeout
。如果您成功使用clearTimeout
。如果不在setTimeout时间内,可以执行定义的setTimeout操作。您可以使用内置的Solr Ping处理程序:
http://hostname:port/solr/admin/ping
这将为您提供所需的信息
Si
我希望它能为某些人使用full。你能成功地将SOLR与Mage CE集成吗?@slimshaddyyy我正计划从JQuery脚本中获得建议。你能详细说明一下吗..我尝试过这一个。当SOLR服务器运行时,它工作正常,但当我关闭SOLR服务器时,它没有进入内部错误:服务器是什么它工作时有什么反应?当服务器不工作时,ajax调用是否会导致任何错误(例如在firebug控制台中)?您需要接收JSON数据还是只检查服务器是否响应?当服务器运行时,意味着它进入内部成功功能,但服务器未运行意味着它不进入错误功能。如果是这样,那么我们甚至不需要使用
JSON
。请在不使用数据类型“json”的情况下尝试我的代码,。
<?php
$solr = new Apache_Solr_Service( 'HOST', 'PORT NUM', '/solr' );
if ( $solr->ping() ) {
// APACHE SOLR SERVER IS RUNNING
}else{
// APACHE SOLR SERVER IS NOT RUNNING
}
?>