Javascript $.post功能不工作

Javascript $.post功能不工作,javascript,php,html,ajax,Javascript,Php,Html,Ajax,onchange函数可以正常运行,但我遇到了一些问题,$.post函数无法工作 这里是html <input type="checkbox" id="chk" value="3" onchange="checkradio(this.value)"/> 这里是PHP $price = 3; echo $price; 我不确定这是否是问题所在,但在传递给$.post的成功回调下面的条件中使用时,num不会设置为任何值。您应该将函数更改为: function checkradio(se

onchange函数可以正常运行,但我遇到了一些问题,$.post函数无法工作

这里是html

<input type="checkbox" id="chk" value="3" onchange="checkradio(this.value)"/>
这里是PHP

$price = 3;
echo $price;

我不确定这是否是问题所在,但在传递给
$.post
的成功回调下面的条件中使用时,
num
不会设置为任何值。您应该将函数更改为:

function checkradio(serid) {

    var num = 0;
    $.post( "getserprice.php",{ serid: serid}, function( data ) {
          alert(data);
          num = data;
          if (document.getElementById('chk').checked) {
              total = total + num;
          } else {
              total = total - num;
          }
      })

}

$.post是一个异步函数,即;当它发出呼叫时,它不会等待成功事件发生并获取数据。相反,它将执行下一个if条件,甚至不获取数据。所以,我们会得到意想不到的结果

var total=0;
function checkradio(serid) {
var num = 0;
$.post( "getserprice.php",{ serid: serid}, function( data ) {
          alert(data);
          num = data;
          if (document.getElementById('chk').checked) {
             total = total + num;
          } else {
             total = total - num;
          }
}

你能分享提琴样品吗?控制台上有异常吗?你的方法被调用了吗?你怎么说它不起作用了?与当前的工作方式相比,您希望它能起什么作用?解释您必须做什么以及从服务器端得到什么?在$.post函数中的警报不会显示,但如果我将警报放在$.post函数之外,它可以是worktry exit end of code,如$price=3;回声$price;出口
var total=0;
function checkradio(serid) {
var num = 0;
$.post( "getserprice.php",{ serid: serid}, function( data ) {
          alert(data);
          num = data;
          if (document.getElementById('chk').checked) {
             total = total + num;
          } else {
             total = total - num;
          }
}