Ajax发布不起作用

时间:2015-07-03 15:10:06

标签: javascript jquery ajax post .post

我是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警告框,它说:

alert box

我的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.

2 个答案:

答案 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

更正您的网址。