jquery $.post function's result data

前端 未结 4 1126
死守一世寂寞
死守一世寂寞 2021-01-16 09:18

When I make an ajax call (see code below), what is \"data\". How do I set and get data

//  $.post()  
 $(\"#post\").click(function(){  
     $(\"#result\").h         


        
相关标签:
4条回答
  • 2021-01-16 09:33
    $.post('fileName.php',{
    
    data: $('#id').val(),
    },
    function(response)
    {
      alert(response);
    }
    }
    
    0 讨论(0)
  • 2021-01-16 09:46

    The documentation for $.post says that data "could be xmlDoc, jsonObj, html, text, etc...". It's whatever the server returns for the loadUrl you specified with the given parameters (in your case, language: "php", version: 5), so you need to examine what the server is returning.

    Just alert(data) in your callback and you'll see what was returned.

    Update: renamed 'responseText to 'data', since the OP changed the question to do that.

    0 讨论(0)
  • 2021-01-16 09:46

    For example, I use:

    $(document).ready(function(){
    $("#btSend").click(function() {
        $.post("/Ajax/script.php", {nome: $("#nome").val(), email: $("#email").val()}, function(data) {
            alert(data);
        });
        return false;
    });
    

    });

    The script.php return what I want to show, but you can change to make another operation with 'data'. The 'btSend' is a image and the 'nome' and 'email' is html textboxes.

    This works :)

    0 讨论(0)
  • 2021-01-16 09:50

    The data is a serialized values of your inputs. Example:

    <form>
        <input type='text' name='myText1' value='hello'/>
        <input type='text' name='myText2' value='world'/>
    </form>
    

    You could now run this:

    var myData = $('form').serialize();
    alert(myData);
    

    And your messagebox would say:

    myText1=hello&myText2=world
    

    myData is the data value that you want to pass into the $.post function.

    Since you are new to jQuery, I'd perhaps recommend you try using the $.ajax function instead. There are a lot more options for it, but I always thought it was more straightforward and easier to understand than $.post. Here is how I'd use it:

    $.ajax({
        type: "POST",    //define the type of ajax call (POST, GET, etc)
        url: "my-ajax-script.php",   //The name of the script you are calling
        data: myData,    //Your data you are sending to the script
        success: function(msg){
            $("#result").html(msg);   //Your resulting action
        }
    });
    

    Btw, don't forget, in order to use the jQuery serialize function, all the inputs need to have the name attribute set, or else the serialize function will ignore them.

    0 讨论(0)
提交回复
热议问题