【发布时间】:2010-05-27 21:14:37
【问题描述】:
我在码头服务器上执行了一段 javascript,该服务器正在向另一台服务器(wamp 服务器)上的 scoket 发送 XMLHTTPRequest。请求被发送到套接字,但是 XHR 响应似乎被阻塞了。
我听说我可以使用 JSONP 来解决这个问题。 但是,由于我对 javascript 都很陌生,而且我从未使用过 JSONP 技术,在此之前我会非常感谢有关如何使用这种技术的任何帮助?
function sendPost(url, postdata, callback) {
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null) {
alert ("Browser does not support HTTP Request")
return
}
xmlHttp.onreadystatechange=callback
xmlHttp.open("POST",url,true)
xmlHttp.send(postdata);
}
function sendInitRQ(width, height) {
var post = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><command type=\"init\"><width>" + width + "</width><height>" + height + "</height></command>";
sendPost("http://localhost:80/socket.php", post, initReturned);
}
我知道 php 套接字正在接收帖子,因为当我检查服务器日志时,我在 get 请求中得到 200。
我只想知道如何使用 JSONP 方法? 我已经看到了这种方法的例子,但我仍然不确定如何去做。
【问题讨论】:
-
这与跨站脚本(XSS)无关;换句话说,这种跨站操作问题并不是XSS这个词所指的。
-
啊 - 我想我明白了。在 1.5.2 和 1.6.4 版本之间,jQuery 本身开始像这样剥离“空”参数。我不知道为什么,所以我最终可能会记录一个错误。
标签: javascript xss jsonp xmlhttprequest