我正在尝试评估要显示的PHP信息,具体取决于用户何时从列表中选择该项目。经过帮助和一些研究,我听说过很多关于AJAX的事情并且已经调查过了,但是,我对它的使用感到有点困惑。
我有一个AJAX函数从外部PHP文件返回给我一个变量值,它正如预期的那样工作。但是,我真的想捕获它并将其设置为PHP变量以继续我的脚本执行。如何实现这一目标?我想保持与调用AJAX函数的文件相同的文件。我不认为我完全理解它是如何工作的,我仍然不确定在我当前的PHP文件中将该值作为变量的确切方法。
我的AJAX:
[root@jr-sandbox python_scripts]# cat logfile.txt
afc69261af7ca0700185e4d9085e7181 , /root/python_scripts/testfiles/yum_save_tx-2015-11-11-16-57y4XwNP.yumtx
0662322d5529501d09c4cce1371d2db3 , /root/python_scripts/testfiles/yum_save_tx-2015-11-12-13-438AWQ5C.yumtx
55c04f8add81c667128398cb2f6d258d , /root/python_scripts/testfiles/yum_save_tx-2015-11-12-11-26gCDt0O.yumtx
1f7c612e4a00c53bb8ee7a1f0917aaad , /root/python_scripts/testfiles/yum_save_tx-2015-10-28-16-149rr0Ad.yumtx
690e3ccf94b75e9960ee3bd2a1f23bce , /root/python_scripts/testfiles/yum_save_tx-2015-03-16-13-42SAoXeV.yumtx
我的PHP外部文件:
function captureName(item){
$.ajax({
type: 'POST',
url: 'externalFile.php',
data: { item: item },
success: function(data) {
alert(data);
}
});
}
东西我想设置我当前的PHP文件,由AJAX返回的内容确定:
$item = $_POST['item'];
echo $item;
答案 0 :(得分:2)
你可以一拍即可。
你的javascript:
<string name="game_settings_dragNDropMove_checkBox"><![CDATA[Move by Drag&Drop]]></string>
你的PHP:
function captureName(item){
console.log(item);
$.post('externalFile.php', {item:item}, function(jsonTabInfo){
console.log(jsonTabInfo);
}, 'json');
}
在PHP中,您使用JSON将所有信息发送到您的客户端(javascript)。这些信息新存储在$item = $_POST['item'];
$tabInfo = array();
switch ($item){
case "item1":
$tabInfo['itemName'] = "item1";
$tabInfo['location'] = "location";
$tabInfo['HWType'] = "HW Type";
break;
case "item2":
$tabInfo['vmName'] = "item2";
$tabInfo['location'] = "location2";
$tabInfo['HWType'] = "HW Type2";
break;
default:
$tabInfo['vmName'] = "Unknown";
$tabInfo['location'] = "Unknown";
$tabInfo['HWType'] = "Unknown";
}
echo json_encode($tabInfo);
答案 1 :(得分:1)
尝试使用fiddler查看实际通过AJAX发送的数据。 Telerik Fiddler
如果它返回空括号,则表示在交换机中没有触发任何情况,因此将数据分配给$ tabInfo数组。下面我添加了一个默认案例,可能有助于识别问题。
switch($item) {
case "item1":
$tabInfo['itemName'] = "item1";
$tabInfo['location'] = "location";
$tabInfo['HWType'] = "HW Type";
break;
case "item2":
$tabInfo['itemName'] = "item2";
$tabInfo['location'] = "location2";
$tabInfo['HWType'] = "HW Type 2";
break;
default:
$tabInfo['itemName'] = "Undefined - " . $item;
$tabInfo['location'] = "Undefined";
$tabInfo['HWType'] = "Undefined";
break;
}