我有一种我从未经历过的特别奇怪的情况。
我的代码目标: 我正在使用Parse.com作为我的后端制作一个网络应用,并希望使用Google Charts向网页添加一些饼图。
我做了什么: 如文档所述,我使用标记
加载了Google JS api<script type="text/javascript" src="http://www.google.com/jsapi"></script>
问题从这里开始。在包含此标记后打开页面后,页面加载失败(从某种意义上说它卡在Read www.google.com...
上,而我只能看到白色屏幕)。我打开控制台,发现以下消息:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://api.parse.com/1/classes/MyClass. This can be fixed by moving the resource to the same domain or enabling CORS.
MyClass
这里是我在Parse后端创建的类的名称,并且在页面加载过程中调用了一个函数来从中获取一些数据。
我尝试在单独的页面中加载JS api并且它已成功运行。 任何想法如何解决它?就我而言,加载Parse.com的API和Google的JS api也很重要。有帮助吗? 谢谢。
P.S。在页面加载期间加载以下脚本:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.2.18.min.js"></script>
<script type="text/javascript" src="myquery.js"></script>
<script type="text/javascript" src="userquery.js"></script>
jquery.js
是缩小的jQuery库。
'myquery.js'和userquery.js
是我自己编写的JS文件。
答案 0 :(得分:0)
您确定使用的是 JSONP 吗?我甚至在localhost上使用了Google的jsapi(虽然没有使用解析)。您可以将解析时的数据公开为Web服务,然后可以对您的解析服务进行AJAX JSONP调用。
这对我来说没有任何问题,我在localhost以及各个领域都尝试过。
var jsonData = jQuery.ajax({
type: 'POST',
url: base_url+"index.php/<url>?callback=?",
dataType:"jsonp",
data: {userID : uID},
async: false
}).responseText;
var options = {
title: 'Title',
hAxis: {title: 'X'},
vAxis: {title: 'Y'}
};
//create table for google visualization
var datatable = new google.visualization.DataTable();
//add rows and column to datatable
....
//draw chart
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data1, options);