- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用这个问题 jQuery Ajax POST example with PHP 来了解如何在提交表单之前处理表单中的数据。
我有一个没有 GUI 的应用程序,我围绕它构建了一个数据库和一个 Web 应用程序。此应用程序使用 fopen() 打开 xml 文件。我正在使用 $GET 方法从数据库的列中获取 xml 文件及其路径。
<?php
$sql = pg_query($conn, "select link, identification from tbl_xml where date='$today';"));
?>
<form id="xmlform" name="xmlform" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="GET">
<?php
while ($row = pg_fetch_row($sql)) {
echo "<button type='submit' name='xml' value='$row[0]' class='btn-as-link'>$row[1]</button>"
}
?>
</form>
我们在 index.php 中。
[...]
ELSE IF( isset($_GET['xml'] )){
include_once("showXml.php");
}
[...]
showXml.php:
$url = filter_var($_GET['xml'], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW|FILTER_FLAG_STRIP_HIGH);
[...]
// $url contains a really long path and the file. Each folder of the path creates exception on how to open the xml file, but in the end i simply open like this:
// Opening the file
$myfile = fopen("$xml", "r");
$xml = fread($myfile,filesize("$xml"));
$dom = new DOMDocument;
$dom->preserveWhiteSpace = TRUE;
// IF the file has XML format we will arrange it, if not we will print it raw
IF ( $dom->loadXML($xml) ) {
$dom->formatOutput = TRUE;
$xml_out = $dom->saveXML();
echo "<pre><code class='language-markup'>";
echo htmlspecialchars($xml_out);
echo "</code></pre>";
} ELSE {
$xml = str_replace('\'','\''.PHP_EOL,$xml);
echo "<pre><code class='language-markup'>";
echo htmlspecialchars($xml);
echo "</code></pre>";
}
fclose($myfile);
我想使用 $GET 方法,因为 webapp 有一个时钟,页面每 X 分钟刷新一次。如果我使用 $POST,我会看到那个窗口告诉我“重新发送数据”。我不想这样。
我面临的问题是该路径在 URL 中清晰可见,并且因为 webapp 很快就会收到更新,它也会打开其他服务器中存在的 XML 文件,我正在寻找一种方法来维护 echo "<button type='submit' name='xml' value='$row[0]' class='btn-as-link'>$row[1]</button>"
但是将表单从使用 $GET 方法转换为 jquery/ajax 或任何其他方式以将其 xml_file_path 提供给 showXml.php。
我添加了另一个问题的代码,我可以阅读“万岁,成功了!”在控制台上。我的变量 $xml
在 form.php
内。
form.php
if (isset($_POST['xml']){
$xml = isset($_POST['xml']) ? $_POST['xml'] : null;
}
从这里开始,我不清楚如何触发:
ELSE IF( isset($_GET['xml'] )){
include_once("showXml.php");
}
在 index.php
中,打开变量 $xml
不是来自 $GET
方法,而是来自 $POST
内部使用的 form.php
最佳答案
我不是 100% 确信我已经掌握了问题,但如果您想使用 ajax 发送请求(使用 GET ),也许以下内容可能会提供一些指导。
标准按钮在使用 ajax 时可以正常工作,而不是使用提交按钮 - xml 文件的详细信息保存在按钮 data-value
属性中,并作为 ajax url 的一部分发送。
根据需要使用回调函数来处理响应 - 这只是弹出带有响应数据的警报。
<?php
$sql = pg_query( $conn, "select `link`, `identification` from `tbl_xml` where `date`='$today';"));
$bttns = array();
while( $row = pg_fetch_row( $sql ) )$bttns[]="<input type='button' data-value='{$row[0]}' value='{$row[1]}' />";
echo "<!-- render basic form with all buttons -->
<form name='xmlform'>
" . implode( PHP_EOL, $bttns ) . "
</form>";
?>
<script>
var url='showxml.php';
var evtcallback=function(xml){
alert(xml)
};
function ajax( url, callback, payload ){
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if( this.status==200 && this.readyState==4 )callback.call( this, this.response );
};
xhr.open('GET', url + '?xml='+payload, true );
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send(null);
}
var col=Array.prototype.slice.call( document.forms.xmlform.querySelectorAll('input[type="button"]') );
col.forEach(function( bttn ){
bttn.addEventListener('click', function(event){
ajax.call( url, evtcallback, this.dataset.value );
}.bind( bttn ),false );
});
</script>
关于php - 如何使用 jquery 处理用于查看 xml 文件的 $GET 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47926031/
对于 Metal ,如果对主纹理进行 mipmap 处理,是否还需要对多采样纹理进行 mipmap 处理?我阅读了苹果文档,但没有得到任何相关信息。 最佳答案 Mipmapping 适用于您将从中
我正在使用的代码在后端 Groovy 代码中具有呈现 GSP(Groovy 服务器页面)的 Controller 。对于前端,我们使用 React-router v4 来处理路由。我遇到的问题是,通过
我们正在 build 一个巨大的网站。我们正在考虑是在服务器端(ASP .Net)还是在客户端进行 HTML 处理。 例如,我们有 HTML 文件,其作用类似于用于生成选项卡的模板。服务器端获取 HT
我正在尝试将图像加载到 void setup() 中的数组中,但是当我这样做时出现此错误:“类型不匹配,'processing .core.PImage' does not匹配“processing.
我正在尝试使用其私有(private)应用程序更新 Shopify 上的客户标签。我用 postman 尝试过,一切正常,但通过 AJAX,它带我成功回调而不是错误,但成功后我得到了身份验证链接,而不
如何更改我的 Processing appIconTest.exe 导出的默认图标在窗口中的应用程序? 默认一个: 最佳答案 经过一些研究,我能找到的最简单的解决方案是: 进入 ...\process
我在 Processing 中做了一个简单的小游戏,但需要一些帮助。我有一个 mp3,想将它添加到我的应用程序中,以便在后台循环运行。 这可能吗?非常感谢。 最佳答案 您可以使用声音库。处理已经自带
我有几个这样创建的按钮: 在 setup() PImage[] imgs1 = {loadImage("AREA1_1.png"),loadImage("AREA1_2.png"),loadImage
我正在尝试使用 Processing 创建一个多人游戏,但无法弄清楚如何将屏幕分成两个以显示玩家的不同情况? 就像在 c# 中一样,我们有Viewport leftViewport,rightView
我一直在尝试使用 Moore 邻域在处理过程中创建元胞自动机,到目前为止非常成功。我已经设法使基本系统正常工作,现在我希望通过添加不同的功能来使用它。现在,我检查细胞是否存活。如果是,我使用 fill
有没有办法用 JavaScript 代码检查资源使用情况?我可以检查脚本的 RAM 使用情况和 CPU 使用情况吗? 由于做某事有多种方法,我可能会使用不同的方法编写代码,并将其保存为两个不同的文件,
我想弄清楚如何处理这样的列表: [ [[4,6,7], [1,2,4,6]] , [[10,4,2,4], [1]] ] 这是一个整数列表的列表 我希望我的函数将此列表作为输入并返回列表中没有重复的整
有没有办法在不需要时处理 MethodChannel/EventChannel ?我问是因为我想为对象创建多个方法/事件 channel 。 例子: class Call { ... fields
我有一个关于在 Python3 中处理 ConnectionResetError 的问题。这通常发生在我使用 urllib.request.Request 函数时。我想知道如果我们遇到这样的错误是否可
我一直在努力解决这个问题几个小时,但无济于事。代码很简单,一个弹跳球(粒子)。将粒子的速度初始化为 (0, 0) 将使其保持上下弹跳。将粒子的初始化速度更改为 (0, 0.01) 或任何十进制浮点数都
我把自己弄得一团糟。 我想在我的系统中添加 python3.6 所以我决定在我的 Ubuntu 19.10 中卸载现有的。但是现在每次我想安装一些东西我都会得到这样的错误: dpkg: error w
我正在努力解决 Rpart 包中的 NA 功能。我得到了以下数据框(下面的代码) Outcome VarA VarB 1 1 1 0 2 1 1 1
我将 Java 与 JSF 一起使用,这是 Glassfish 3 容器。 在我的 Web 应用程序中,我试图实现一个文件(图像)管理系统。 我有一个 config.properties我从中读取上传
所以我一直在Processing工作几个星期以来,虽然我没有编程经验,但我已经转向更复杂的项目。我正在编写一个进化模拟器,它会产生具有随机属性的生物。 最终,我将添加复制,但现在这些生物只是在屏幕上漂
有人知道 Delphi 2009 对“with”的处理有什么不同吗? 我昨天解决了一个问题,只是将“with”解构为完整引用,如“with Datamodule、Dataset、MainForm”。
我是一名优秀的程序员,十分优秀!