通过Jquery $.ajax返回xml但通过跨域
我有一个应用程序 X 在某些情况下使用另一个应用程序 Y。
X 在 Apache 服务器上,Y 在 Tomcat 服务器上。
我在 Y 的 html 文件中有一个按钮,它调用 JavaScript 函数 StopApp()。 这个函数 StopApp() 调用 X 上的脚本“StopApp.php”。
所以我在 StopApp() 中所做的事情是好的
function StopApp()
{
//USING JQUERY $.ajax
$.ajax({
type: "GET",
url: pathofX + "StopApp.php",
cache: false,
data:"blablabla",
dataType: "xml",
success: function(xml)
{
}
});
}
,所以事情是“StopApp.php”返回一个 XML 文档,我想得到成功字段内 XML 标记的值,但我无法做到这一点。我知道这与跨域有关,因为它是两个不同的服务器,但我不知道如何解决它。
I have an application X that uses another application Y in certain cases.
X in on an Apache server, Y is on a Tomcat server.
I have a button in html file in Y which calls a JavaScript function StopApp().
This function StopApp() calls the script "StopApp.php" which is on X.
So what I did inside StopApp() is something like
function StopApp()
{
//USING JQUERY $.ajax
$.ajax({
type: "GET",
url: pathofX + "StopApp.php",
cache: false,
data:"blablabla",
dataType: "xml",
success: function(xml)
{
}
});
}
OK so the thing is "StopApp.php" returns an XML document, and I would like to get the values of the XML tag inside the success field, but I am not being able to do that. I know it has to do with cross domain because it's 2 different servers, but I don't know how to resolve it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您被允许更改 StopApp.php (或者,您可以创建一个从 StopApp.php 调用函数的包装器)并将所有逻辑放入此文件中(我的意思是函数
success
应该执行的所有操作来做到这一点),您可以使用文章 Ajax & 中的技术。 PHP 不使用 XmlHttpRequest 对象。简而言之,您需要使用http:://Y/StopApp.php
源创建一个SCRIPT
元素并将其附加到文档正文。这是一个纯 JS 解决方案,但也许您会发现 jquery 插件可以做同样的事情。If you are allowed to change StopApp.php (alternatively, you can create a wrapper that calls functions from StopApp.php) and put all the logic in this file(I mean all actions the function
success
is supposed to do), you can use technique from the article Ajax & PHP without using the XmlHttpRequest Object. Briefly, you need to create aSCRIPT
element withhttp:://Y/StopApp.php
source and append it to document body. It's a pure JS solution, but maybe you'll find jquery plug-in that can do the same.跨域调用是被禁止的,你无法以任何可移植的方式规避这一点。
顺便说一句,接受你的一些旧问题。
Cross-domain calls are forbidden, you cannot circumvent this any portable way.
Btw, accept some of your older questions.