外包将Solr上的jQuery请求外部化到外部JavaScript中。

huangapple 未分类评论41阅读模式
英文:

Outsourcing jQuery request on solr in external javascript

问题

以下是翻译好的内容:

内联代码的目标是将其外包到外部的 JavaScript 文件中。内联代码如下,并且可以正常运行。

<script type="text/javascript">
$.getJSON('../servlets/solr/select?q=mods.genre:issue_a&amp;amp;state:published&amp;amp;rows=1&amp;amp;
fl=returnId,id,search_result_link_text,parentLinkText,mods.title&amp;amp;sort=modified
desc&amp;amp;wt=json',
function (data) {
$(data.response.docs).each(function(i, doc){
let ausgabe = "Ausgabe: ";
let titelmain = doc['search_result_link_text'];
let titelall = doc['mods.title'];	
for (let i=0, item; item=titelall[i]; i++) {
if (item.indexOf(titelmain)>=0) {
titelall.splice(i,1);
} 
    }
let titel = titelall.join('&#160;' + '&#x7C;' + '&#160;');					
$('#periodicals').append($('<div class="modified"></div>')
                .append('<p class="lastmod-p interline text-content">' + 
'<span class="fa fa-arrow-right text-info" />' + '&#160;' + 
'<span style="font-weight:bold">' + (doc['parentLinkText']) + 
'</span>' + '<br/>' + '<a class="navbar-link" style="font-weight:bold" href="../receive/'+doc['returnId']+'">' + doc['search_result_link_text'] + '</a>' + '<br/>' + titel + '</p>' + '<p/>')
                );
            });	
        });
</script>

外部 JavaScript 文件(new.js)如下所示。它存储在调用它的 HTML(index.html)文件相同的文件夹中。

$(document).ready(function(){
jQuery.getJSON('http://localhost:8282/mir/servlets/solr/select?q=mods.genre:journal&amp;amp;state:published&amp;amp;rows=2&amp;amp;fl=id,search_result_link_text,mods.title,mods.title.main,sb_amt,sb_ort&amp;amp;sort=modified desc&amp;amp;wt=json',
    function (data) {
        $(data.response.docs).each(function(i, doc){		
            let amt = doc['sb_amt'] ? doc['sb_amt'] : '&#160;';
            let ort = doc['sb_ort'] ? doc['sb_ort'] : '&#160;';
            let alletitel = doc['mods.title'];
            let titel = alletitel.slice(1);
            titel = titel.join('&#160;' + '&#x7C;' + '&#160;');
            let meta = [titel,amt,ort];			
            let text = meta.join('&#160;' + '&#x7C;' + '&#160;');
            $('#periodicals').append($('<div class="modified"></div>')
                            .append('<p class="lastmod-p interline text-content">' + 
'<a class="navbar-link" style="font-weight:bold" href="../receive/'+doc['id']+'">' + doc['search_result_link_text'] + '</a>' + '<br/>' + text + '</p>')
            );
        });	
    });
    alert('New Documents');
});

我添加了一个提示框以确保外部 JavaScript 被正确解析。提示框文本正确弹出,但没有显示任何数据。在我的 HTML 代码中,我有这样的内容:

<script src="new.js"></script>
<div class="col-md-4">
    <h4 class="text-dark font-weight-bold" style="">PERIODICALS</h4>
    <div id="periodicals"></div>
    <a style="vertical-align:top" href="../servlets/solr/select?q=mods.genre:journal&amp;amp;  
    state:published&amp;amp;sort=modified desc"></a>
</div>

如有其他问题,请随时问我。

英文:

I am trying to outsource my inline javascript into an external one. The inline code looks like this and it works fine.

    &lt;script type=&quot;text/javascript&quot;&gt;
    $.getJSON(&#39;../servlets/solr/select?q=mods.genre:issue_a&amp;amp;state:published&amp;amp;rows=1&amp;amp;
    fl=returnId,id,search_result_link_text,parentLinkText,mods.title&amp;amp;sort=modified
    desc&amp;amp;wt=json&#39;,
    function (data) {
    $(data.response.docs).each(function(i, doc){
    let ausgabe = &quot;Ausgabe: &quot;;
    let titelmain = doc[&#39;search_result_link_text&#39;];
    let titelall = doc[&#39;mods.title&#39;];	
    for (let i=0, item; item=titelall[i]; i++) {
    if (item.indexOf(titelmain)&gt;=0) {
    titelall.splice(i,1);
    } 
    	}
    let titel = titelall.join(&#39;&amp;#160;&#39; + &#39;&amp;#x7C;&#39; + &#39;&amp;#160;&#39;);					
    $(&#39;#periodicals&#39;).append($(&#39;&lt;div class=&quot;modified&quot;&gt;&lt;/div&gt;&#39;)
    				.append(&#39;&lt;p class=&quot;lastmod-p interline text-content&quot;&gt;&#39; + 
    &#39;&lt;span class=&quot;fa fa-arrow-right text-info&quot; /&gt;&#39; + &#39;&amp;#160;&#39; + 
    &#39;&lt;span style=&quot;font-weight:bold&quot;&gt;&#39; + (doc[&#39;parentLinkText&#39;]) + 
    &#39;&lt;/span&gt;&#39; + &#39;&lt;br/&gt;&#39; + &#39;&lt;a class=&quot;navbar-link&quot; style=&quot;font-weight:bold&quot; href=&quot;../receive/&#39;+doc[&#39;returnId&#39;]+&#39;&quot;&gt;&#39; + doc[&#39;search_result_link_text&#39;] + &#39;&lt;/a&gt;&#39; + &#39;&lt;br/&gt;&#39; + titel + &#39;&lt;/p&gt;&#39; + &#39;&lt;p/&gt;&#39;)
    					);
    				});	
    			});
    &lt;/script&gt;

The external javascript (new.js) looks like this.
It is stored inside the same folder as the html (index.html) invoking it.

$(document).ready(function(){
jQuery.getJSON(&#39;http://localhost:8282/mir/servlets/solr/select?q=mods.genre:journal&amp;amp;state:published&amp;amp;rows=2&amp;amp;fl=id,search_result_link_text,mods.title,mods.title.main,sb_amt,sb_ort&amp;amp;sort=modified desc&amp;amp;wt=json&#39;,
	function (data) {
	  $(data.response.docs).each(function(i, doc){		
		let amt = doc[&#39;sb_amt&#39;] ? doc[&#39;sb_amt&#39;] : &#39;&amp;#160;&#39;;
		let ort = doc[&#39;sb_ort&#39;] ? doc[&#39;sb_ort&#39;] : &#39;&amp;#160;&#39;;
		let alletitel = doc[&#39;mods.title&#39;];
		let titel = alletitel.slice(1);
		titel = titel.join(&#39;&amp;#160;&#39; + &#39;&amp;#x7C;&#39; + &#39;&amp;#160;&#39;);
		let meta = [titel,amt,ort];			
		let text = meta.join(&#39;&amp;#160;&#39; + &#39;&amp;#x7C;&#39; + &#39;&amp;#160;&#39;);
		$(&#39;#periodicals&#39;).append($(&#39;&lt;div class=&quot;modified&quot;&gt;&lt;/div&gt;&#39;)
						.append(&#39;&lt;p class=&quot;lastmod-p interline text-content&quot;&gt;&#39; + 
 &#39;&lt;a class=&quot;navbar-link&quot; style=&quot;font-weight:bold&quot; href=&quot;../receive/&#39;+doc[&#39;id&#39;]+&#39;&quot;&gt;&#39; + doc[&#39;search_result_link_text&#39;] + &#39;&lt;/a&gt;&#39; + &#39;&lt;br/&gt;&#39; + text + &#39;&lt;/p&gt;&#39;)
		);
	});	
});
alert(&#39;New Documents&#39;);
});

I added alert to be sure that the external javascript is beeing resolved.
The alert text pops up correctly but there is no data displayed.
In my HTML Code I have this:

    &lt;script src=&quot;new.js&quot;&gt;&lt;/script&gt;
    &lt;div class=&quot;col-md-4&quot;&gt;
    	&lt;h4 class=&quot;text-dark font-weight-bold&quot; style=&quot;&quot;&gt;PERIODICALS&lt;/h4&gt;
    	&lt;div id=&quot;periodicals&quot;&gt;&lt;/div&gt;
    	&lt;a style=&quot;vertical-align:top&quot; href=&quot;../servlets/solr/select?q=mods.genre:journal&amp;amp;  
    state:published&amp;amp;sort=modified desc&quot;&gt;&lt;/a&gt;
    &lt;/div&gt;

huangapple
  • 本文由 发表于 2020年4月8日 19:05:43
  • 转载请务必保留本文链接:https://java.coder-hub.com/61099241.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定