从站点获取ajax输出?

时间:2011-08-24 15:43:05

标签: php javascript ajax web-scraping

大家好我想在我的网站上使用以下网站页面的功能 http://www.unlockcodesource.com/buy_unlockcode_now.php

当用户在页面中选择电话制作(编号3)时,

中会发生ajax调用

http://www.unlockcodesource.com/ajax.js

并选择网络提供商(选择框)(编号5)根据它进行更改。我尝试编写一些代码来实现该功能。首先我创建了test.html文件,其中包含以下代码。

<html lang="en">
<head>
<title><!-- Insert your title here --></title>
<script language="javascript" src="ajax2.js"></script>
</head>
<body>
<!-- Insert your content here -->
<div id="buynow_container">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="paypalform">
<select name="os1" onchange="GetNetworks(this.value,'select_make');">
                        <option selected value="0">Please select one</option>
                    <option             value="Acer">Acer</option>
                              <option value="Alcatel">Alcatel</option>
                                                            <option value="Blackberry">Blackberry</option>
                                                            <option value="Dell">Dell</option>
                                                            <option value="G2X">G2X</option>
                                                            <option value="Garmin">Garmin</option>
                                                            <option value="Google">Google</option>
                                                            <option value="HP">HP</option>
                                                            <option value="HTC">HTC</option>
                                                            <option value="Huawei">Huawei</option>
                                                            <option value="INQ">INQ</option>
                                                            <option value="Iphone">Iphone</option>
                                                            <option value="LG">LG</option>
                                                            <option value="Motorola">Motorola</option>
                                                            <option value="Nokia">Nokia</option>
                                                            <option value="Optimus 2X">Optimus 2X</option>
                                                            <option value="Palm">Palm</option>
                                                            <option value="Pantech">Pantech</option>
                                                            <option value="Samsung">Samsung</option>
                                                            <option value="Sharp">Sharp</option>
                                                            <option value="Sidekick">Sidekick</option>
                                                            <option value="Siemens">Siemens</option>
                                                            <option value="Sony Ericsson">Sony Ericsson</option>
                                                            <option value="Zte">Zte</option>
                                                    </select>
                   <div id="select_make">
              <select name="network" >
                    <option selected value="0">Please select make first!</option>
                </select>
                </div>

</form>
</div>
</body>
</html>

和ajax2 .js

    function GetNetworks(value,divID) {
var xmlhttp;
xmlhttp = startAjax();
xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState==4) {
            document.getElementById(divID).innerHTML = xmlhttp.responseText;

            alert(xmlhttp.responseText);

    }   

}
xmlhttp.open("GET","http://www.unlockcodesource.com/getnetwork_list.php?ID="+divID+"&make="+value,true);
xmlhttp.send(null);         
    }

但是xmlhttp.responseText返回null。谢谢你的帮助。如果您知道任何其他解决方案,如解析或卷曲,请给出一些指示。感谢

2 个答案:

答案 0 :(得分:0)

这里是跨域调用限制背后的小故事 Wikipedia

您的解决方案之一是使用您的服务器(相同的域)作为代理,通过代理我是指一个网页,它将获取另一个域上的内容并将其发送回客户端。

从道德上来说,我不确定这是不是一个好主意。

答案 1 :(得分:0)

修改
刚刚注意到你发布的JS表明你确实试图使用你提到的网站上的数据,所以我的答案现在有点无关紧要了。但是我将把它留在这里,以防您以后发现需要这些信息。


正如@mario在评论中提到的那样,如果您尝试使用该网站上的数据,则不能。

但是,如果您要实现依赖/链接选择框,您可能需要查看这些jQuery插件:

以下是一些没有插件的教程: