跨域Ajax,同一个服务器但不同的端口?

跨域Ajax,同一个服务器但不同的端口?

问题描述:

我是新来的AJAX,并试图学习。我已经设置了一个在端口8983上运行的Java servlet,它在查询时从数据库返回XML搜索结果。我还在端口80上运行一个wamp服务器,并试图让这些搜索结果显示在页面上。我假设我遇到这个跨域ajax调用问题,即使它是相同的主机,因为我在2个独立的端口上运行这些服务?跨域Ajax,同一个服务器但不同的端口?

我听说解决方案是使用jsonp将响应形式封装在一个函数中。问题是,我不认为我能做到这一点,因为这个servlet是Apache Solr,我刚刚配置它并开箱即用。

有什么建议吗?

您可以SOLR接受JSONP请求,根据http://xplus3.net/2010/09/21/solr-and-jsonp/

+1

您还需要指示Solr的返回JSON格式的响应,则默认为XML,但可以用简单的查询参数'重量=完成json'支持出箱,所以你不应该有任何问题。看到这个例子 - http://skipperkongen.dk/2011/01/11/solr-with-jsonp-with-jquery/ – 2013-02-13 13:08:18

+0

感谢您的额外信息:) – robertklep 2013-02-13 13:16:40

+0

感谢您的链接。我现在能够从我的solr服务器中检索Jsonp。我只需要学习如何处理它(我只学过JavaScript,但所有的例子都在jQuery中)。 – NullPointer 2013-02-13 20:59:06