2017-10-08 86 views
0

我使用document.write()为json。在ajax之外工作document.write(JSON.stringify({name:'jason',surname:'etc'}));,但在.done()之外工作。我试过删除dataType:'json'但不工作。json.stringify在jquery ajax

$.ajax({ 
    url: "http://api.wunderground.com/api/24b969202160514e/geolookup/conditions/q/Turkey/zmw:00000.58.17352.json", 
    dataType:'json' 
}) 
.done(function(data) { 
    console.log("success",data); 
    document.write(JSON.stringify(data)); 
    //document.write(data); 
}) 
.fail(function(data) { 
    console.log("error",data); 
}) 
.always(function() { 
    console.log("complete"); 
}); 
+0

尝试'success',而不是'done' – prasanth

+0

https://www.w3schools.com/jsref/met_doc_write.asp我想可能你不能使用文件撰写文档后准备。您可以使用jQuery来修改或追加内容到页面中的某个元素。 – Surely

+0

@prasanth我尝试但不工作。实际上代码是工作,但我想在页面上写入原始的JSON。它在html> body中写入。但它在成功或完成功能之外写入原始json。如何在页面上编写原始json。没有HTML>正文。 – bukalemun

回答

0

如果您检查您的浏览器控制台,您应该看到下面的错误...

jquery-git.js:9648 Mixed Content: The page at 'https://jsfiddle.net/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://api.wunderground.com/api/24b969202160514e/geolookup/conditions/q/Turkey/zmw:00000.58.17352.json'. This request has been blocked; the content must be served over HTTPS.

您的网址更改为从协议到httphttps

https://api.wunderground.com/api/24b969202160514e/geolookup/conditions/q/Turkey/zmw:00000.58.17352.json

这应该工作。

Working Demo

+0

我无法在控制台中得到任何错误。我将http更改为https,但无法正常工作。 – bukalemun

+0

@bukalemun,检查链接 – dcodesmith

0

你为什么不使用jQuery的getJSON

$.getJSON('https://api.wunderground.com/api/24b969202160514e/geolookup/conditions/q/Turkey/zmw:00000.58.17352.json') 
.done(function(data) { 
    console.log("success",data); 
    document.write(JSON.stringify(data)); 
    //document.write(data); 
}) 
+0

实际上代码工作,但我想在页面上写入原始json。它在html> body中写入。但它在成功或完成功能之外写入原始json。 – bukalemun