2014-02-24 75 views
1

我正在使用freetexthost.com来存储我的json代码.. 现在我已经从url中使用javascript,jquery,ajax获取这些内容... bt无法获取它.. 正在尝试下面的代码使用javascript从外部网址获取内容

<!DOCTYPE html> 
<html> 
<head> 
<title>Useless</title> 
<script type='text/javascript' src='http://code.jquery.com/jquery-1.11.0.min.js'></script> 
<script type="text/javascript"> 

$.ajax({ 
    type:  "GET", 
    url:  "http://freetexthost.com/r56ct5aw03", 
    dataType: "jsonp", 
    success: function(data){ 
    console.log(data); 
    } 
}); 

</script> 
</head> 
<body> 

<div class="content" >Hello</div> 

</body> 
</html> 

得到一个错误为'未捕获的SyntaxError:意外的标记<

有没有我们可以用JS操纵其他网页(URL)中的任意内容机会...

+1

您有未封闭' “'管线'URL:” https://开头的http:// freetexthost.com/r56ct5aw03,'假设它作为错字 – Satpal

+1

未捕获的SyntaxError:意外令牌<此当json解析器试图解析html时通常会出现错误 – SajithNair

+0

使用你的浏览器网络检查器,jsonp没有被返回。如果你在浏览器中使用真正的url,你会在html页面看到原始的json或json吗? –

回答

0

你需要使用"关闭您的网址:

$.ajax({ 
    type:  "GET", 
    url:  "https://http://freetexthost.com/r56ct5aw03", // <-- Here 
    dataType: "jsonp", 
    success: function(data){ 
     console.log(data); 
    } 
}); 
+1

我认为这是错字 – Satpal

+0

我不知道,因为他在这里遇到语法错误。 – Felix

0

http://freetexthost.com/r56ct5aw03页面的内容是HTML,它应该是JSONP解析正确

JSON和JSONP之间的唯一区别是调用JSONP当你也会通过回调参数

e.g. url:"http://freetexthost.com/r56ct5aw03?callback=myFunction", 

现在服务器端应该打印出如下所示的封装在这个函数名中的json。

myFunction(
    { 
     "sites": 
     [ 
      { 
       "siteName": "123", 
       "domainName": "http://www.123.com", 
       "description": "123" 
      }, 
      { 
       "siteName": "asd", 
       "domainName": "http://www.asd.com", 
       "description": "asd" 
      }, 
      { 
       "siteName": "zxc", 
       "domainName": "http://www.zxc.com", 
       "description": "zxc" 
      } 
     ] 
    } 
); 
+0

我怎样才能自由地上传我的json文件在web作为jsonp和稍后解析,很容易? –

+0

你需要有一个像PHP一样的服务器端语言来打印jsonp函数名称中包含的json文本 – SajithNair

+1

你只需要一个普通的托管帐户 –

0
  1. 在JSON文件中创建函数:

    //----for example 
    parseResponse({"Name": "Foo", "Id": 1234, "Rank": 7}); 
    
  2. 然后通过JSONP

    var result = $.getScript("http://freetexthost.com/r56ct5aw03?callback=parseResponse"); 
    

我希望能帮助你调用这个函数。

参考:JSONP