Ajax调用PHP后更新值

时间:2016-01-07 13:01:58

标签: javascript php jquery ajax

我想根据selectChange

更新TextBox值

HTML:

<select name="abc" id="def">
    <option value="1">1st Record</option>
    <option value="2">2nd Record</option>
    <option value="3">3rd Record</option>
</select>
<input value="" name="final_value" id="final_value" />

JS:

$("#selectboxid").change(function() {
  $.ajax({ url: "test.php", data:"value="+$("#def").val() , success: function(){
     $("#final_value").val(data);
  }});
});

PHP:

<?php
    function abc($data){
      // Database operations
      echo json_encode($response);
    }

    abc($_GET);
?>

使用这种方法值非常好地更新但是我有以下几点:

  1. 上面的方法打印值,可以在网络选项卡中看到。这是一个很好的方式吗?
  2. 我也尝试在PHP函数中使用return $response但是响应为null并且ajax中的console.log(data)显示为null数组。
  3. 那么,如何在没有echoing的Ajax之后更新输入值。我不希望用户在网络选项卡中看到任何类型的响应。

    我见过各种网站都做同​​样的事情而没有在网络标签中显示任何值。 **有没有不同的方法来做到这一点?

3 个答案:

答案 0 :(得分:0)

您也可以尝试这样

所有HTTP请求都可以在自己的网络上观看。你可以限制这个

$(document).ready(function(){
    var params = {};
    params['value'] = $("#def").val();
    $.post('test.php', params, function(response){
        console.log(response);
        alert(response);
    });
});

答案 1 :(得分:0)

应该是这样的

$("#selectboxid").change(function() {
  $.ajax({ 
     url: "test.php", 
     data:{
      "value": $("def").val() 
     }, 
     success: function(){
       $("#final_value").val(data);
     }
  });
});

答案 2 :(得分:-1)

我没有对此进行测试,但我立即发现了一些事情:

$("#selectboxid").change(function() {
    // .val is a function
  $.ajax({ url: "test.php", data:"value"+$("def").val() , success: function(data)    { //Your success callback needs to take an argument
     //data will be either a string or a JSON object, so depending on what you want from it, you'll probably not be able to just pass it to the val() function
     $("#final_value").val(data);
  }});
});

不是100%完成我确定,但希望能给你一个很好的起点