将数据发送到另一个网站并接收结果

时间:2011-09-01 08:45:10

标签: javascript html ajax xmlhttprequest

如果我有website1.comwebsite2.com,我可以将数据(例如:来自输入的值)从website2.com发送到website1.com并收到结果吗?没有页面刷新或重定向。我只想使用javascript& ajax,没有PHPjQuery。如果有可能,请举例说明如何做。

我考虑在script上使用src创建一个website2.com元素(使用javascript):website1.com?data=<value from input>,当script元素加载src时,它会显示给我结果,但也许有更好的选择。

PS:我将有更多分开的数据要发送。

注意:这不是XSS,只是网站的公共项目,需要每隔x分钟更新数据并将一些数据发送到website1

感谢。

4 个答案:

答案 0 :(得分:2)

您的问题并不完全清楚,但一般来说,当您必须使用跨站点AJAX时,您必须使用JSONP

答案 1 :(得分:1)

由于XmlHttpRequest不能跨域工作,因此您必须使用JSONP。基本上,这是在您建议的时候动态添加脚本标记。然后,服务器使用您的GET数据,执行它想要的任何操作,并且通常“打印”回调函数。

使用脚本标记调用文件时,它将评估显示的所有内容。这就是为什么,如果在服务器端,你正在做:

<?php
echo 'alert(1);';
?>

这将被评估为javascript。然后,您可以轻松了解如何使用回调函数(另一个GET参数)。

另外,在jQuery中,当你调用$.ajax时有一个名为'jsonp'的选项(使用“callback”作为默认的GET参数,但可以更改)。

答案 2 :(得分:0)

您要做的是跨域脚本(XSS)。可能存在安全问题。

another similar thread

答案 3 :(得分:0)

您可能会遇到一些XSS问题,但您可以使用ajaxgold。发送几乎所有东西都是一种非常简单的方式。

致电发送至website2

postDataReturnText( 'http://website2.com', 'data=bla', getResult );

返回结果

function getResult( text ) {}