2012-02-19 88 views
0

我想从网站中使用ajax请求将数据从服务器加载到DIV中的数据。从AJAXREQUEST中删除数据

当我点击网站的按钮,将新的数据加载到网站上,我可以看到浏览器的确只有1 POST请求与下面的帖子字符串:

AJAXREQUEST = _viewRoot & j_id376 = j_id376 & javax.faces.ViewState = j_id3 & j_id376%3Aj_id382 = j_id376%3Aj_id382 &的valueChanged =假& AJAX%3AEVENTS_COUNT = 1 &

当我使用PHP卷曲做上述发布请求我没有得到任何有用的数据。

有人知道如何为这种请求螃蟹数据吗?

UPDATE1:

这是我在PHP中使用:

$ch = curl_init ('http://www.website.com'); 
$post_string = 'AJAXREQUEST=_viewRoot&j_id376=j_id376&javax.faces.ViewState=j_id3&j_id376%3Aj_id382=j_id376%3Aj_id382&valueChanged=false&AJAX%3AEVENTS_COUNT=1&'; 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile); 
$output = curl_exec ($ch); 

我没有得到任何结果,也没有任何错误或消息。

+0

该网站是否有移动版本?移动版本很可能不会使用AJAX请求,并且可能是简单的HTML解析。无论哪种方式,你可能会给我们稍微更多的信息.​​.. – 2012-02-19 15:59:47

+0

该网站没有移动版本。 我不知道我可以添加什么样的信息。这种类型的请求与ususal POST或GET请求不同,我不知道如何处理这种类型的请求。 – BastiaanWW 2012-02-19 16:22:31

+0

我们需要更多的信息。像:JS文件他们发送更多数据的另一个请求。上面这个url返回的是什么? – 2012-02-19 16:32:43

回答

0

您的问题可能不在于您的PHP代码,更可能是您实际发送到服务器的问题。我假设你列出了website.com作为你试图与之互动的任何服务的占位符,但由于你没有列出任何有关你发送请求的地方或你回来的信息,我假设您发送到服务器的内容被忽略,因为您的发送无效或不完整,或需要进一步的POST/GET请求。另一种可能性是,您尝试向需要经过身份验证的会话的服务(您列出的POST变量可能包含用于标识会话的某种令牌)尝试POST,但您尚未建立该服务。

我建议你先在简单的“受控测试用例”上测试你的代码。设置一个基本的Web表单,当你为它发布一个值时返回true或者什么。首先测试您的代码,以确保您的POST代码正常工作。

然后使用诸如LiveHTTPHeaders或Firebug之类的调试工具记录整个POST/GET请求与服务器的交互。首先尝试使用调试工具“重播”这种交互来证明您的方法是有效的,这可能是一个好主意。然后,一旦你确切知道你需要从高层做什么,请在你的PHP代码中重复这个过程。

没有什么其他的建议,任何人都可以给你提供给我们的信息。