Php Ajax调用的响应
我正在使用ajax进行一个小表单验证。用户提供一个键,当表单提交时,我调用ajax方法validate\u key 我的职能是Php Ajax调用的响应,php,codeigniter,jquery,Php,Codeigniter,Jquery,我正在使用ajax进行一个小表单验证。用户提供一个键,当表单提交时,我调用ajax方法validate\u key 我的职能是 function validate_key(){ $key = $_POST['key']; $id = $this->uri->segment(3); $query = $this->db->get_where('mc_boxes', array('idmc_boxes' => $id)); $row =
function validate_key(){
$key = $_POST['key'];
$id = $this->uri->segment(3);
$query = $this->db->get_where('mc_boxes', array('idmc_boxes' => $id));
$row = $query->row();
$download_key = strtolower($row->downloadkey);
if($download_key == $key){
return true;
}
else{
return false;
}
}
JQuery是
$(document).ready(function() {
$('#submit').click(function() {
var key = $('#downloadkey').val();
var dataString = {KEY:key};
$.ajax({
url: "/index.php/home/validate_key",
type: 'POST',
data: dataString,
success: function(msg) {
}
});
return false;
});
});
表格如下:
<form name="form" method="post">
<input id="downloadkey" name="downloadkey" type="text" />
<input type="submit" id="submit" name="submit" value="submit"/>
</form>
我检查用户提供的数据库密钥,如果密钥正确,则允许用户查看页面并在会话中设置密钥,如果错误,则发出警报消息并再次呈现表单
我如何检查回复
谢谢我想你需要从你的PHP页面回显
if($download_key == $key){
echo "true";
}
else{
echo "false";
}
然后在Ajax成功处理程序中,您可以检查回调中的响应。通过调用该函数,确保页面不会被发布,从而防止默认操作
$(document).ready(function() {
$('#submit').click(function(e) {
e.preventDefault();
var key = $('#downloadkey').val();
var dataString = {KEY:key};
$.ajax({
url: "/index.php/home/validate_key",
type: 'POST',
data: dataString,
success: function(msg) {
if(msg=="true")
{
alert("do something")
}
else
{
alert("do something else")
}
}
});
});
});
我想你需要回显你的PHP页面中的
if($download_key == $key){
echo "true";
}
else{
echo "false";
}
然后在Ajax成功处理程序中,您可以检查回调中的响应。通过调用该函数,确保页面不会被发布,从而防止默认操作
$(document).ready(function() {
$('#submit').click(function(e) {
e.preventDefault();
var key = $('#downloadkey').val();
var dataString = {KEY:key};
$.ajax({
url: "/index.php/home/validate_key",
type: 'POST',
data: dataString,
success: function(msg) {
if(msg=="true")
{
alert("do something")
}
else
{
alert("do something else")
}
}
});
});
});
您需要向页面输出一些内容。如果您只是
返回true
或返回false
将不会得到任何输出
所以你可以这样做:
echo“OK”
然后可以在javascript中执行此操作:
if(msg==“OK”){..}
您可以做的另一件事是返回HTTP状态码,例如
头文件(“HTTP/1.1200ok”)代码>
您可以在jquery中检查这一点。但是,使用第一种方法更有用,因为页面上可以有任意数量的输出,包括不同的错误消息等。您需要向页面输出一些内容。如果您只是返回true
或返回false
将不会得到任何输出
所以你可以这样做:
echo“OK”
然后可以在javascript中执行此操作:
if(msg==“OK”){..}
您可以做的另一件事是返回HTTP状态码,例如
头文件(“HTTP/1.1200ok”)代码>
您可以在jquery中检查这一点。但是,使用第一种方法更有用,因为页面上可以有任意数量的输出,包括不同的错误消息等。您的问题/问题是什么?您可以在success函数中检查AJAX响应。@Utkanos yes,它为我提供了一些wamp服务器索引页的html。请阅读框架如何处理AJAX请求的文档。你可能做错了。使用fuelphp时,我必须设置一个单独的REST API来处理ajax,因此codeigniter可能也是如此。请尝试使用大写的$\u POST['KEY']
,这就是您发布它的方式(dataString={KEY:KEY};
)您有什么问题吗?您可以在success函数中检查AJAX响应。@Utkanos yes,它为我提供了一些wamp服务器索引页的html。请阅读框架如何处理AJAX请求的文档。你可能做错了。使用fuelphp时,我必须设置一个单独的REST API来处理ajax,因此codeigniter可能也是如此。请尝试使用大写的$\u POST['KEY']
,这就是发布它的方式(dataString={KEY:KEY};
)当我提交表单并查看回复时,会显示一些html和css,我在回复中看不到任何正确或错误35;使用firebuug查看您正在调用的文件。当我提交表单并查看回复时,会显示一些html和css,我在回复中看不到任何正确或错误#使用firebuug查看您正在创建的文件调用。当我提交表单并查看我的回复时,它显示了一些html和css。我在回复中看不到任何正确或错误。首先,您使用codeigniter-您应该使用$this->input->post('KEY')
,而不是$\u post['KEY']
。您也没有URI段3。会不会是这件事毁了它?你看到的HTML输出是什么?它是一些带有CSS的随机HTML。如果你能来聊天,我可以给你看。这是wamp服务器主页的html。在我的函数中,我写了$key=$this->input->post('key');echo$key删除了所有其他内容,但我仍然看不到key的值当我提交表单并查看我的回复时,它显示了一些html和css我在回复中看不到任何正确或错误。首先,你使用codeigniter-你应该使用$this->input->post('key')
,而不是$\u post['key']
。您也没有URI段3。会不会是这件事毁了它?你看到的HTML输出是什么?它是一些带有CSS的随机HTML。如果你能来聊天,我可以给你看。这是wamp服务器主页的html。在我的函数中,我写了$key=$this->input->post('key');echo$key删除了其他所有内容,但我仍然看不到key的值