我是ajax的新手并尝试从帖子请求中获取数据。这是我的代码:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.post("10.0.0.10/info/page.php",
{
id: "1234"
},
function(data,status){
alert("succesData: " + data + "\nStatus: " + status);
})
.fail(function(data,status) {
alert("failData: " + data + "\nStatus: " + status);
});
});
});
</script>
</head>
<body>
<input id="id" type="text">
<button>Change Content</button>
</body>
</html>
我只是尝试使用html表单的page.php页面并获取此json:
[{&#34; cabin_id&#34;:&#34; 1234&#34;&#34;城市&#34;:&#34;&#34;&#34;类型&#34 ;: &#34;&#34;&#34;一年&#34;:&#34; 2009&#34;}]
所以10.0.0.10/info/page.php工作正常但我的ajax代码无法获取数据。我只得到.fail警告框,它说:
我的ajax代码出了什么问题?
编辑:
我现在看到这个错误:
XMLHttpRequest cannot load file:///C:/Users/KUVALYA/Desktop/post. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
答案 0 :(得分:1)
从IP地址来看,我认为它的外部域名。
除非您在目标IP上启用跨源资源共享
,否则您的ajax将永远不会工作请通过设置以下链接中提到的相应标头来启用CORS,然后在目标上使用ajax。
更多信息here
如果可能,您可以使用JSON填充(JSONP),但这也需要在服务器端自定义响应
希望它有所帮助!
答案 1 :(得分:0)
如果您未指定方案(例如https://
)或使用//
启动URL(表明它与当前方案相关),则第一部分将被视为目录,而不是主机名。
您要求的内容如下:http://example.com/foo/10.0.0.10/info/page.php
。
更正您的网址。