当前位置: 首页 > 面试题库 >

JavaScript,JSONP并从跨域读取XML

江新
2023-03-14
问题内容

在我的JS项目中,我需要从跨域加载数据。(JavaScript位于域A上,数据来自域B)

我有一个使用JSONP的解决方案,但是我确实需要加载XML(普通XML音乐播放列表)。主要目标是能够加载和解析XML数据,而无需先将其修改为其他格式(例如JSONP)。

完全不可能吗? 还是有任何解决方法或黑客措施?

我主要针对iOS上的最新浏览器。

谢谢!

PS:easyXDM对您有帮助吗?还是与XML不相关?

更新:不幸的是我不能使用代理,我真的在问直接解决方案。


问题答案:

您完全可以做到这一点,只需让您的域B返回类似

func("<myxml></myxml>");

要么

var someVar = "<myxml></myxml>";

JSONP 这个名称实际上与JSON并没有任何关系,因为它的概念全部是关于执行将数据嵌入代码中的JavaScript。

一旦您的域B恰好返回了上述两种形式之一,域A可以通过以下方式简单地使用它:

<script>
function func(xmlString) {
    alert(xmlString); // you can parse the xmlString with 
                      // jQuery or something else
}
</script>

或者,如果您使用第二个示例:

<script>
alert(someVar);
</script>


 类似资料:
  • 我理解的JSONP的方式就是,通过JS代码,动态创建一个Script标签,通过标签的src的网址里面包含一个JSONP属性,后端接收到后返回一个url中jsonp=参数,这样一个参数(包含一个json),通过执行这个参数命名的函数来实现跨域。 以下是JS中的代码 var util = {}; /*[function 在页面注入脚本]*/ util.createScript = function(u

  • 问题内容: 我正在使用JSONP进行api跨域请求,并且外部服务器以XML返回我的结果,以下是我的代码: 它返回给我一个xml,但随之产生一个错误,提示“意外令牌<”,不幸的是停止了我的处理,但我没有收到警告消息。任何想法? 最好 问题答案: 正如上面的评论中提到的那样,除非您能够控制吐出XML的应用程序并可以使用格式化技巧来“欺骗”脚本以将其解析为JSON,否则javascript的跨域xml是

  • 本文向大家介绍Jsonp post 跨域方案,包括了Jsonp post 跨域方案的使用技巧和注意事项,需要的朋友参考一下 近期在项目中遇到这样一问题,关于jsonp跨域问题,get传值是可以的,但post传值死活不行啊,于是网上看了一大堆关于这方面的资料,最终问题得以解决,今天抽空与大家分享下。 说明: http://www.t1.com/index.php 服务端URL 当然这是我本地配置的,

  • 问题内容: 我们的客户要求我们为其站点提供Widgits。他们想链接到我们以获得Html和操纵Html并执行异步请求所需的jQuery。我知道存在跨域安全限制,可以防止这种情况的发生,但是通过使用JSONP作为数据传输格式可以缓解其中的一些限制。 我很难找到关于我要达到的目标的可能解释。有人可以帮我吗? 问题答案: 简而言之,所有AJAX请求(和跨窗口脚本)都应遵循Same Origin Poli

  • 本文向大家介绍AJAX跨域请求之JSONP获取JSON数据,包括了AJAX跨域请求之JSONP获取JSON数据的使用技巧和注意事项,需要的朋友参考一下 Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用 XMLH

  • 本文向大家介绍jsonp跨域获取数据的基础教程,包括了jsonp跨域获取数据的基础教程的使用技巧和注意事项,需要的朋友参考一下 前言 由于浏览器有同源策略,所以要想获取非同源(协议,域名,端口三者有一不同都算非同源)的页面的数据,就得进行跨域 (1) jsonp原理 由于script标签的src属性可以访问非同源的js脚本,所以通过src属性访问服务器会返回函数的js代码,而我们想要的数据就作为函