<a href="#" onclick="return purchaseEntry('39873');">ABC</a>
我打算抓取网页并使用正则表达式获取某些内容。但是,此内容仅在激活onclick后显示。我需要进入ABC并获取内容。我无法使用file_get_content()
,因为没有链接将我带到ABC页面。用户点击它时会显示ABC内容。结果通过Javascript / Ajax / Json调用。
ABC内容是:
Name: XXXX
Address: XXXXXX
知道如何抓取ABC并获取内容吗?
注意:我必须编写一个可以抓取到远程页面并获取ABC内容的PHP脚本。
额外信息:
function purchaseEntry(customerid) {
$('customeridfield').value = customerid;
if (approvedAgents()) {
e1 = $('entrylisttable');
e1.hide();
getExistingDetails(customerid, 'confirmstatusexistingdetails');
$('confirmstatushajjlicenceno').value = '';
$('confirmstatusapproved').checked = false;
e1 = $('confirmstatus');
e1.show();
}
return false;
}
此处还有getExistingDetails:
function getExistingDetails(customerid, existingdetails) {
e1 = $(existingdetails);
e1.innerHTML = 'Loading ... <img src="/jpg/ajaxloader.gif" />';
var url = '/samex/index.php';
var pars = 'option=com_directory&view=entry2&customerid=' + customerid + '&format=raw';
new Ajax.Request(url, { method: 'get', parameters: pars,
onSuccess: function(request) {
var json = request.responseText.evalJSON();
jsondata = json['data'];
e1 = $(existingdetails);
e1.innerHTML = jsondata['clientdata'];
},
onFailure: function(request) {
e1 = $(existingdetails);
e1.innerHTML = 'Unable to get information for customer ' + customerid;
}
});
}
有什么建议吗?
答案 0 :(得分:2)
您的purchaseEntry('39873')
可以包含ajax call
个php
文件。
然后,您php
文件可以使用json
从array
转换为echo json_encode($yourArray)
进行回复
然后,您的ajax
来电可以从array/object
收到的json string
将其重新转换为Javascript php
。
答案 1 :(得分:2)
您无法从PHP运行JavaScript事件。 PHP是一种服务器端语言,而HTML和JavaScript是客户端语言。
从客户端HTML和JavaScript获取数据的唯一方法是使用以下方法之一:
使用带有操作的HTML表单将数据提交回服务器。
<form action="/submit.php">
<input name="purchaseEntry" value="39873" />
<input type="submit" value="Submit" />
</form>
使用AJAX调用将数据发送到服务器,而无需重新加载页面。
// jQuery ajax
$.ajax({"url" : "/submit.php",
"type" : "post",
"data" : "purchaseEntry=" + document.getElementById("purchase-entry")
"success" : function() {
alert("data sent to server");
}
);
当用户导航到其他页面时,从$ _REQUEST对象中提取数据。这假设您的数据在链接中。
<p><a href="/page2.php?purchaseEntry=39873">Page 2</a></p>