【问题标题】:Getting ajax output from a site?从网站获取ajax输出?
【发布时间】:2011-08-24 15:43:05
【问题描述】:

大家好,我想在我的网站中使用以下网站页面的功能 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。谢谢请帮忙。如果您知道任何其他解决方案,例如解析或卷曲,请提供一些指导。谢谢

【问题讨论】:

  • 如果你尝试过,你不能进行跨域 AJAX 请求。
  • 是的,我正在尝试从我的计算机调用该 ajax 文件。

标签: php javascript ajax web-scraping


【解决方案1】:

关于跨域调用限制背后的小故事 Wikipedia

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

现在从道德上讲,我不确定这是否是个好主意。

【讨论】:

  • 嗯,你所说的对我来说是相当先进的,但我一定会用谷歌搜索你所说的谢谢你的帮助
  • 如果你使用 php,cUrl 是要走的路
【解决方案2】:

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


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

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

这里有几个没有插件的教程:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 2016-12-12
    • 2019-04-22
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多