AJAX Post的奇怪Javascript/PHP行为
Odd Javascript/PHP behavior with AJAX Post
我有一个函数,可以向php网站发送发布请求。通过简单地改变一个变量的大小写,我得到了两种不同的行为。有问题的变量是"action"变量,并且被设置为"deleteIndexMain"或"deleteIndixmain"。如果操作变量被设置为"deleteIndexMain",我会得到弹出窗口,显示php返回的html。如果我将变量设置为"deleteIndex Main",我将不会弹出窗口。(意味着这似乎是一个javascript问题?
以下是java脚本代码:
function deleteMe(v,r)
{
if(confirm("Are you sure"))
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if(xhttp.readyState == 4 && xhttp.status == 200)
{
alert(xhttp.responseText);
document.getElementById("indexmaintable").deleteRow(r);
}
};
xhttp.open("POST", "includes/control.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("action=deleteIndexMain&file="+v);
}
}
这是php代码:
<?php
//Todo make sure to authenticate!
session_start();
require_once("config.php");
function deleteIndexMain($file)
{
unlink($file);
$query = 'DELETE FROM indexmain WHERE linklocation="'.$file.'"';
$db->query($query);
}
print_r($_POST);
if(isset($_POST) && $_POST['action'] == "deleteIndexMain")
{
echo 'Deleting '.$_POST['file'];
deleteIndexMain($_POST['file']);
}
?>
字符串与==
的比较区分大小写。如果要执行不区分大小写的比较,可以使用strcasecmp()
:
if(isset($_POST) && strcasecmp($_POST['action'], "deleteIndexMain") == 0)
请注意,strcasecmp
不返回布尔值,它返回一个数字,指示第一个字符串是否小于、等于或大于第二个字符串。因此,您必须使用== 0
来测试字符串是否相等。
或者,在正常比较之前,您可以使用strtolower()
将所有内容转换为单个案例。
if(isset($_POST) && strtolower($_POST['action']) == "deleteindexmain")
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 将数组从PHP传递到Javascript
- 如何在php文件中获取$.post-ajax传递的值
- AJAX Post的奇怪Javascript/PHP行为
- Javascript的行为与PHP包含文件不一致
- $_GET PHP行为不端
- 为什么对php的简单ajax调用会表现出如此奇怪的行为
- 奇怪的行为 AngularJS & PHP
- RSA加密:使用PHP重现JS行为
- PHP 'rawurlencode' 和 JS 'encodeURIComponent' 之间的不同行为是否重要?
- php代码中if语句中的意外行为
- php + mysql的奇怪AJAX行为.一半在工作/一半不在
- PHP - URL重定向的奇怪行为
- PHP和js-ajax的行为很奇怪(里面有解释)
- 使用PHP和Jquery的扑克游戏-浏览器-后退按钮行为
- 用PHP清除Cookie在Safari中的行为很奇怪
- 在PHP中解码字符串时出现意外行为(来自AJAX POST调用)
- 我怎样才能“停下来”呢?从javaScript创建一个PHP页面——意思是模仿关闭浏览器窗口的行为