如何从javascript调用RESTAPI

如何从javascript调用RESTAPI,javascript,jquery,html,Javascript,Jquery,Html,我有一个提供json数据的url 我想从javascript中点击该URL,但出现以下错误: 未声明纯文本文档的字符编码。如果文档包含US-ASCII范围之外的字符,则在某些浏览器配置中,文档将呈现乱码文本。文件的字符编码需要在传输协议中声明,或者文件需要使用字节顺序标记作为编码签名 代码: function a(){ $.getJSON(url,function(data) { alert(data);}); } 完整代码: <html lang="en"> <head&g

我有一个提供json数据的url

我想从javascript中点击该URL,但出现以下错误:

未声明纯文本文档的字符编码。如果文档包含US-ASCII范围之外的字符,则在某些浏览器配置中,文档将呈现乱码文本。文件的字符编码需要在传输协议中声明,或者文件需要使用字节顺序标记作为编码签名

代码:

function a(){
$.getJSON(url,function(data) { alert(data);});
}
完整代码:

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" ></meta>
<script language="JavaScript" type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script>

function a(){
$.getJSON(url,function(data) { alert(data);});
}
</script>
</head>
<body>
<input type="text"/>
<input type="submit" value="search" onclick="a()"/>
</body>
</html>

函数a(){
$.getJSON(url,函数(数据){alert(数据);});
}

您的代码似乎正确

您是否正在进行
完全限定的URL调用

如果您正在进行完全限定的URL调用,请确保以下内容

  • 您正在调用同一域(同一服务器)。你不能做出一个决定 对另一个域的简单JSON调用
  • 如果要使用跨域调用,则必须使用JSONp
  • 更新: 这不起作用,因为它是跨域调用

    为此而努力

    JavaScript

    创建一个函数

    function getMyData(data) {
        alert(data);
        //Do the magic with your data
    }
    
    服务器端

    在服务器端,将数据包装到函数语法中

    getMyData("Enter your data here");
    
    JavaScript

    然后创建一个脚本标记并添加一个到跨域页面的链接

     <script type="text/javascript"
             src="cross ref url">
     </script>
    
    
    
    供参考:


    编辑:另一个选项是在域上创建代理。ie在您的域中创建一个内部调用跨域页面的页面,并将相同的数据返回到Ajax调用。

    错误出现在哪里?在这个js:jquery-1.7.1.min.js中,这更多的是解释您的请求的文档所设置的字符编码的问题。谁控制服务器端代码?您希望通过AJAX加载哪个URL?@Brian Vanderbusch。你的意思是我必须使用url作为var url=url+“?callback=?”我已经用过了..我没有找到任何结果..没有。你能简单地使用url='getAllJobs'发布“url”的完整值并尝试从同一个域(即scalajobz.com本身的一个页面)调用它吗?什么都不会发生…如果不给出完整的url,这个url=“getAllJobs”怎么能工作..因为我在另一个应用程序中使用这个url。。。