nancy
版主
积分:1372

XML 无法请求到网页

我们发现例子中的网页请求选择的都是XML网页,而对于Html网页我们目前尝试请求无法成功获取,请问目前是否支持html格式的网页内容获取?

第一次的回答:可以,但是使用dataset不行,只能使用Javascript中的XMLHttpRequest对象,即AJAX的方式。

目前问题:我们通过XMLHttpRequest无法请求到网页

答:
用XMLHttpRequest对象取html网页需要用responseText属性,创建XMLHttpRequest的方式是new XMLHttpRequest()。

如果还有问题把主要的代码贴出来或打包邮件发出来。

nian508
游民
积分:31

<?xml version="1.0" encoding="UTF-8"?>
<canvas width="240" height="320" >
	<text name="test" fontsize="30" bgcolor="red"/>
	
	<handler name="oninit">
		request();
	</handler>
	
	<script>
	ajax=new XMLHttpRequest();
	<![CDATA[
	
	function request()
	{
		ajax.abort();
		ajax.onreadystatechange=dothing;
ajax.open("POST","http://search.huochepiao.com/chaxun/resultc.asp?txtCheCi=1503/1502",true);
		ajax.send(null);
	}
	
	function dothing()
	{	
		test.setText(ajax.readyState);
		if(ajax.readyState==4)
		{
			if(ajax.status==200)
			{	
				test.setText("done");
			}
		}
	}
	]]>
	</script>
</canvas> 

nian508
游民
积分:31

如上 readyState只能到2

openface
技术支持
积分:420

代码贴得太简单,这样看不出怎么用的。
要包括,创建XMLHttpRequest对象,到处理请求的过程。

nian508
游民
积分:31

代码中已经创建XMLHttpRequest了 我主要是看能不能请求到网页 oninit的handler执行了request函数 如果最终能够请求到的话
readyState会变成4 而我只能到2 使用天气预报里的url 就能到4

nian508
游民
积分:31

??

openface
技术支持
积分:420

<?xml version="1.0" encoding="utf-8"?>
<canvas width="240" height="320" fontsize="20" >
<text x="5" y="65" id="t1" width="200" multiline="true">none</text>
<script>
<![CDATA[
var ajax = new XMLHttpRequest();
function ajaxReady(){
if(ajax.readyState==4){ var xmlDoc = ajax.responseText; t1.setText(xmlDoc);
}
}
function sendReq(){
var url = "http://www.baidu.com"; [^]
ajax.onreadystatechange=ajaxReady;
ajax.open("GET", url, true);
ajax.send(null);
}
sendReq();
]]>
</script>
</canvas>

上面的代码在OpenFace 模拟器上可以正常运行
但webide 会上出现死机.

jajaa
游民
积分:10

我也遇到了这个问题了,只能到状态1和2 ,倒不了3和4,用版主的代码也一样,

@@@ajax.readyState==1;

@@@ajax.readyState==2;
###############UDP socket created

ms是open函数的第二个参数url限制了只能在同网域之间请求,

nancy
版主
积分:1372

目前的描述有些简单,不易判断出问题,附件的例子供参考,这个例子是可行的。如果还是不能解决您的问题,请试着进行一下debug看能否将问题简化,然后提供比较清楚的再现问题的步骤,这样可以帮助我们尽快的解答您的问题。多谢配合!

附件请看此贴:
http://www.openface.org.cn/node/322