我理解JSON,但不了解JSONP.维基百科关于JSON的文档是JSONP的最佳搜索结果.它说:
JSONP或"带填充的JSON"是JSON扩展,其中前缀被指定为调用本身的输入参数.
咦?什么电话?这对我没有任何意义.JSON是一种数据格式.没有电话.
JSONP是脚本标记注入,将响应从服务器传递到用户指定的函数.
我可以理解这一点,但它仍然没有任何意义.
那么什么是JSONP?它为什么被创建(它解决了什么问题)?为什么我会用它?
附录:我刚刚在维基百科上为JSONP创建了一个新页面 ; 根据jvenema的回答,它现在对JSONP进行了清晰而全面的描述.
我可以在不使用jQuery或其他外部库的情况下在JavaScript中创建跨域JSONP请求吗?我想使用JavaScript本身,然后解析数据并使其成为一个对象,以便我可以使用它.我必须使用外部库吗?如果没有,我该怎么办?
我有一篇维基百科文章,我想从文章中获取第一行z(或前x个字符,或前y个字,无关紧要).
问题:我可以获得源Wiki-Text(通过API)或解析的HTML(通过直接HTTP-Request,最终在打印版本上)但是如何找到显示的第一行?Normaly源(html和wikitext)从信息框和图像开始,第一个要显示的真实文本在代码中的某处.
例如: 维基百科上的阿尔伯特爱因斯坦(印刷版).看看代码,第一个真正的文本行"Albert Einstein(发音为/ælbərtaɪnstaɪn/;德语:[albɐtaɪ̯nʃtaɪ̯n]; 1879年3月14日至1955年4月18日)是一位理论物理学家." 不是一开始.这同样适用于Wiki-Source,它以相同的信息框开头,依此类推.
那么你将如何完成这项任务呢?编程语言是java,但这应该不重要.
我想到的解决方案是使用xpath查询,但是这个查询处理所有边界情况会相当复杂.[更新]没有那么复杂,请参阅下面的解决方案![/ update]
谢谢!
我正在尝试使用AJAX(XMLHttpRequest)向维基百科的API实现一个简单的请求.如果我在Firefox的地址栏中输入网址,我会得到一个整洁的XML,没有汗水.然而,调用完全相同的URL:
// this is my XMLHttpRequest object
httpObjectMain.open("GET", "http://en.wikipedia.org/w/api.php?action=query&format=xml&prop=langlinks&lllimit=500&titles=kaas", true);
httpObjectMain.send(null);
Run Code Online (Sandbox Code Playgroud)
返回一个空响应.根据FireBug,我得到200 OK响应,但内容只是空的.
我怀疑我可能会遗漏GET http请求标题上的内容.
救命!(谢谢!)
我有一个不允许服务器端脚本编写的环境(在服务器上"安装"脚本非常困难).我尝试使用iframe来违反javascript的同源起源; 然而,这不起作用.还有其他我不知道的变通方法吗?
谢谢!
我想在客户端发出跨域请求,所以我选择了JSONP.我是JSONP的新手,想要使用JavaScript而不是jQuery 向http://somedomain.com发出请求.如果我在JavaScript中使用JSONP获取样本片段并处理请求,那么对我的开发将非常有帮助.
javascript ×5
jsonp ×3
wikipedia ×3
api ×2
parsing ×2
ajax ×1
cross-domain ×1
json ×1
terminology ×1