为什么我的 JSONP 响应来自本地主机的 SOLR blank/error?

Why is my JSONP response blank/error from SOLR at localhost?

我已经在本地设置了 Solr。在浏览器中使用查询效果很好。我正在尝试访问 JSON-JQuery 中的查询结果,但我做不到。

当我 运行 在我的浏览器中发出以下请求时,我得到以下结果: http://localhost:8983/solr/Products/select?q=HPI-850&fl=id%2CPris&&rows=2&wt=json&json.wrf=solrCallback

solrCallback({
  "responseHeader":{
    "status":0,
    "QTime":1,
    "params":{
      "q":"HPI-850",
      "json.wrf":"solrCallback",
      "fl":"id,Pris",
      "rows":"2",
      "wt":"json"}},
  "response":{"numFound":3701,"start":0,"numFoundExact":true,"docs":[
      {
        "Pris":1195,
        "id":"10440"},
      {
        "Pris":1195,
        "id":"16656"}]
  }})

运行 我在本地主机的浏览器中的以下代码我从 https://www.sitepoint.com/jsonp-examples/ 找到的示例中得到 JSONP 响应,但我自己的 URL。为什么?我的代码不好,还是 Solr 以任何方式阻止请求?

<!doctype html>
<html lang="en">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
    <h1>FRA TEST</h1>
    <div id="Test_JSON"></div>
    <br /><br />
    <h1>FRA SOLR</h1>
    <div id="SOLR_JSON"></div>
    <script>
        function jsonCallback(json) {
            //alert(JSON.stringify(json));
            $("#Test_JSON").html(JSON.stringify(json));
        }

        $.ajax({
            url: "http://run.plnkr.co/plunks/v8xyYN64V4nqCshgjKms/data-2.json",
            dataType: "jsonp"
        });


        function solrCallback(json) {
            //alert(JSON.stringify(json));
            $("#SOLR_JSON").html(JSON.stringify(json));
        }

        $.ajax({
            url: "http://localhost:8983/solr/Products/select?q=HPI-850&wt=json&json.wrf=solrCallback",
            dataType: "jsonp"
        });

    </script>
</body>
</html>

我不知道为什么它不能与 JSONP 一起工作的细节,因为据我所知,它应该可以工作。在寻找解决方案时,我最终在 Solr 中启用了 CORS。

我遵循了这个指南: http://laurenthinoul.com/how-to-enable-cors-in-solr/

这样做之后,我可以毫无问题地通过 JQuery 从 Solr 获取我的 Json。