【问题标题】:How to skip A4J. Ajax.Submit through php curl如何跳过 A4J。 Ajax.通过php curl提交
【发布时间】:2014-08-23 13:06:46
【问题描述】:

我正在尝试通过 php curl 废弃 java .jsf 扩展页面的内部页面。在我到达列表页面之后,我使用了 curl 并登录了网站。在列表页面中提供项目 ID,单击链接项目详细信息后会在弹出窗口中显示。我的问题是在列表页面上,网址是这样的

<a style="font-weight:normal;"    onclick="A4J.AJAX.Submit('_viewRoot','requirementDetails:requirementDetailsPage',event,{'oncomplete':function(request,event,data)

{RequirementPage.show();document.getElementById('formName').focus();},
'parameters': {'requirementDetails:requirementDetailsPage:req:1:_idJsp383':'requirementDetails:requirement     DetailsPage:req:1:_idJsp383'} ,




'actionUrl':'/test/myweb/baRequirementDetailsHome.jsf'} );return false;"    ="requirementDetails:requirementDetailsPage:req:1:_idJsp383"   id="requirementDetails:requirementDetailsPage:req:1:_idJsp383" href="#">3922704</a>  

现在如何进入项目详细信息页面,操作 URL 与单击链接时的当前页面相同,会弹出包含所有详细信息的弹出窗口。请帮助如何进入详细信息页面。 如何处理 A4j.AJAX.Submit。

响应显示如下:
POST /gbams/vendorPages/baRequirementDetailsHome.jsf AJAXREQUEST = _viewRoot&requirementDetails%3ArequirementDetailsPage%3Acheck =假requirementDetails%3ArequirementDetailsPage%3Acheck =假requirementDetails%3ArequirementDetailsPage%3AreqIDAutoHidden = autoReqIDHidden&requirementDetails%3ArequirementDetailsPage%3AreqIDAutoHidden = autoReqIDHidden&requirementDetails%3ArequirementDetailsPage%3ArequireType =当前&requirementDetails%3ArequirementDetailsPage%3AskillAutoHidden = autoSkillHidden&requirementDetails%3ArequirementDetailsPage %3ArequireTypeSkill =当前&requirementDetails%3ArequirementDetailsPage%3AlocAutoHidden = autolocHidden&requirementDetails%3ArequirementDetailsPage%3ArequireTypeloc =当前&requirementDetails%3ArequirementDetailsPage%3A_idJsp361 =所有&javax.faces.ViewState = rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzKWwCAAB4cAAAAANzcgBHb3JnLmFwYWNoZS5teWZhY2VzLmFwcGxpY2F0aW9uLlRyZWVTdHJ1Y3R1cmVNYW5hZ2VyJFRyZWVTdHJ1Y3RDb21wb25lbnRGWRfYnEr2zwIABFsACV9jaGlsZHJlbnQASltMb3JnL2FwYWNoZS9te WZhY2VzL2FwcGxpY2F0aW9uL1RyZWVTdHJ1Y3R1cmVNYW5hZ2VyJFRyZWVTdHJ1Y3RDb21wb25lbnQ7TAAPX2NvbXBvbmVudENsYXNzdAASTGphdmEvbGFuZy9TdHJpbmc7TAAMX2NvbXBvbmVudElkcQB&equirementDetails%3ArequirementDetailsPage%3Areq%3A1%3A_idJsp383 = requirementDetails%3ArequirementDetailsPage%3Areq%3A1%3A_idJsp383&自动滚动=&requirementDetails%3ArequirementDetailsPage%3AreqIDAuto =&requirementDetails%3ArequirementDetailsPage%3AskillAuto =&requirementDetails%3ArequirementDetailsPage%3AlocAuto =&requirementDetails%3ArequirementDetailsPage%3A_idJsp326 =&重%3A_idJsp31%26requirementDetails% 3ArequirementDetailsPage%3A_link_hidden_​​=&requirementDetails%3ArequirementDetailsPage%3A_idcl=&requirementDetails%3ArequirementDetailsPage%3A_idJsp460=&requirementDetails%3ArequirementDetailsPage%3Areq%3A6%3A_idJsp383=requirementDetails%3ArequirementDetailsPage%3Areq%3A6%3A_idJsp383&

【问题讨论】:

  • 通过 ruby​​ 得到了解决方案。从 php 是不可能的。所以我使用 ruby​​ 和 watir 作为后端并将其连接到 php

标签: php ajax curl ajax4jsf


【解决方案1】:

使用 Ruby 和 watir web 驱动程序跳过 ajax 提交 浏览器 = Watir::Browser.new :firefox browser.goto 'url'

 browser.goto '

 #browser.execute_script('arguments[0].removeAttribute("disabled");',
 browser.html)
 doc = Nokogiri::HTML(browser.html)

【讨论】:

    猜你喜欢
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 2013-12-26
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多