我使用php填写表单。现在,碰巧表单正在为其许多字段使用ajax。
e.g。
选择[国家/地区] (ajax将显示填充该国家/地区的下拉列表)
选择[状态] (ajax将显示满是城市的下拉列表)
选择[城市] (ajax将启用提交按钮)
如果它是一个简单的基于html的表单,可以很容易地用cURL填充。但是如果表单使用ajax填充下拉字段会怎样。
由于
答案 0 :(得分:0)
如果它是一个简单的基于html的表单,可以很容易地填写cURL
我不清楚你的意思。据我所知,cURL是一个用于发出HTTP请求的工具。它不能“填充表单”(例如,WWW :: Mechanize不同)。我错了吗?
我认为你的意思是:“如果它是一个简单的基于HTML的表单,我可以使用cURL轻松构造一个HTTP请求,提交与使用浏览器相同的查询字符串或POST数据。”我将继续这个假设。
使用Ajax(本身)并不会阻止您手动构建表单数据并正常提交。它只是让您更难以确定需要提交的数据。
远程系统可能会以这样一种方式实现:如果你没有以正确的顺序请求所有数据位,它就会失败(例如,如果你在最后提交完整的数据而不请求列表,那么它将会停止一个国家的城市)。强调“可能”,这不是实施该系统的理智方式。
您可能还想使用cURL发出多个请求,以便您可以获取城市列表(以及可能与之关联的任何ID)并以编程方式访问它们。
答案 1 :(得分:0)
当您使用curl“填充”表单时,实际上是在POST中输入已输入/输入到表单中的数据。
只要您知道必须使用哪些数据,就不需要进行Ajax请求。
所以,解决方案是:
最后,您的curl请求应该与提交表单时浏览器提出的请求相同 - 与之前发送的Ajax请求无关(这些请求仅对获取数据)
好吧,除非Ajax请求实际上是在服务器上“写入”某些东西 - 但这种情况非常罕见。