Javascript 剑道移动json数据调用
我已经编写了一段代码,用于从php获取json数据并将其放入listview,它在localhost中非常有效, 当我将php文件放入Web服务器并在javascript中调用时,它显示错误并且没有获取数据Javascript 剑道移动json数据调用,javascript,jquery,javascript-events,kendo-ui,Javascript,Jquery,Javascript Events,Kendo Ui,我已经编写了一段代码,用于从php获取json数据并将其放入listview,它在localhost中非常有效, 当我将php文件放入Web服务器并在javascript中调用时,它显示错误并且没有获取数据 this method i have used var dataSource = new kendo.data.DataSource({ transport: { read: {
this method i have used
var dataSource = new kendo.data.DataSource({
transport: {
read: {
//url: "userchk.php", //this works in localhost
url: "http://example.com/web/userchk.php", this is not working in localhost
dataType: "json", // JSONP (JSON with padding) is required for cross-domain AJAX
data: { //additional parameters sent to the remote service
q: "javascript"
}
}
},
first url data is getting in localhost and works great, second url is not working(but data show if we run the url in a browser)
it show Error like this
XMLHttpRequest cannot load http://example.com/web/userchk.php?q=javascript. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
waiting for a good response
这与大多数web浏览器实现的同源策略有关。您试图访问的php文件似乎位于当前服务器(localhost)之外的其他服务器中 如果您要进入本地: 我建议您将url更改为/web/userchk.php 如果您正试图访问其他网站 我建议您将数据类型更改为“jsonp”
尝试使用twitter查看kendoUI数据源。他们试图使用jsonp访问twitter(另一个来源)。这可能是由于跨域问题。您需要使用数据类型:jsonp。。从OData2.0版提要读取数据的示例代码如下:
studentsData = new kendo.data.DataSource(
{
type: "odata",
transport: {
read: {
url: "http://server/Service.svc/Students",
dataType: "jsonp",
data: {
Accept: "application/json"
}
}
},
serverfiltering: false,
serverPaging: true,
batch: false,
pageSize: 10
});
你可以
谢谢
@调试模式当您的php脚本应该返回JSONP时,只需确保它类似于
$\u请求['callback']。('.$json_data.');'代码>我尝试了此操作,它抛出:admissions?callback=jquery1910921149585209787_1429085454642&Accept=application%2fsjson&_=1429085454…:2未捕获的语法错误:意外标记: