繁体   English   中英

PHP中的Jquery Ajax数据发布问题

[英]Jquery Ajax Data Post Problem in PHP

我在我的项目中使用jquery的AJAX。 今天,我在其他地方使用了所有相同的方法,但它不起作用。

我的脚本有问题吗?

HTML:

<a class='btn edit_receipe_btn' id='myreceipe-52'>Edit</a>

JQuery的:

(点击功能有效。当我在var instance行之后放置alert(instance) ,它可以工作)

$(document).ready(function(){
$('.edit_receipe_btn').click(function(){
   var instance = $(this).attr('id');
   var dataString = 'process=userReceipeEdit&instance='+instance;
   $.ajax({
    type: 'POST',
    url: 'ajax/ajaxs.php',
    data: dataString,
    cache: false,
    success: function(msg) {
        alert(msg);
    }
    });
});
});

PHP:

$prcs = $_POST['process'];
if($prcs=='userReceipeEdit'){
        $instance = $_POST['instance'];
        return $instance;
    }

看来问题出在PHP中。 我究竟做错了什么?

那是整个PHP页面吗? 如果是这样,你应该回声而不是回归

正如Jasper De Bruijn通知我的那样,问题出在我的PHP脚本中。 我应该使用echo而不是return:错误的用法:

$prcs = $_POST['process'];
if($prcs=='userReceipeEdit'){
        $instance = $_POST['instance'];
        return $instance;
    }

正确用法:

$prcs = $_POST['process'];
if($prcs=='userReceipeEdit'){
        $instance = $_POST['instance'];
        echo $instance;
    }

两件事,输出错误并检查以确保实例未定义。

像这样输出错误:

$('.edit_receipe_btn').click(function(){
   var instance = $(this).attr('id');
   var dataString = 'process=userReceipeEdit&instance='+instance;
   $.ajax({
    type: 'POST',
    url: 'ajax/ajaxs.php',
    data: dataString,
    cache: false,
    success: function(msg) {
        alert(msg);
    },
    error: function(response, status, error)
    { 
        alert(response.responseText);
        alert(status);
        alert(error);
    }
    });
});

我认为你已经把这个POST形成了一个get,不知道为什么。 尝试在JS中执行此操作:

var dataString = 
    {
        "process" : "userReceipeEdit",
        "instance" : instance
    };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM