【问题标题】:jquery $.post function's result datajquery $.post 函数的结果数据
【发布时间】:2009-10-13 18:20:58
【问题描述】:

当我进行 ajax 调用时(参见下面的代码),什么是“数据”。如何设置和获取数据

//  $.post()  
 $("#post").click(function(){  
     $("#result").html(ajax_load);  
     $.post(  
         loadUrl,  
         {language: "php", version: 5},  
         function(data){  
             $("#result").html(data);  
         },  
         "json"  
     );  
 });

【问题讨论】:

    标签: jquery ajax json post


    【解决方案1】:

    数据是您输入的序列化值。示例:

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

    你现在可以运行这个了:

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

    你的消息框会说:

    myText1=hello&myText2=world
    

    myData 是您要传递给 $.post 函数的数据值。

    由于您是 jQuery 新手,我可能会建议您尝试使用 $.ajax 函数。它有很多选择,但我一直认为它比 $.post 更简单易懂。以下是我的使用方法:

    $.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
        }
    });
    

    顺便说一句,别忘了,要使用jQuery序列化功能,所有输入都需要设置name属性,否则序列化功能会忽略它们。

    【讨论】:

    • 我认为 OP 是在询问响应数据是什么,而不是输入数据是什么。
    【解决方案2】:

    例如,我使用:

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

    });

    script.php 返回我想要显示的内容,但您可以更改为使用“数据”进行另一个操作。 'btSend' 是图像,'nome' 和 'email' 是 html 文本框。

    这行得通:)

    【讨论】:

      【解决方案3】:

      documentation for $.post 表示数据“可以是 xmlDoc、jsonObj、html、文本等……”。这是服务器为您使用给定参数指定的 loadUrl 返回的任何内容(在您的情况下,语言:“php”,版本:5),因此您需要检查服务器返回的内容。

      只需在您的回调中使用 alert(data),您就会看到返回的内容。

      更新:将“responseText”重命名为“data”,因为 OP 更改了问题。

      【讨论】:

      • 我想他是在问数据输入是什么,而不是返回/响应是什么。
      • @Jakobud 叹息,我的回应被 OP 重命名/澄清,这听起来很有趣。你投反对票还适用吗?
      • @Jakobud:我认为没有必要投反对票。据我了解,aem 指的是正确的事情。
      • 啊,好吧,我投反对票的唯一原因是将正确答案浮动到堆栈顶部,因为 OP 似乎没有选择正确答案。如何删除不赞成投票的反对票?如果我能弄清楚,我会删除它。
      【解决方案4】:
      $.post('fileName.php',{
      
      data: $('#id').val(),
      },
      function(response)
      {
        alert(response);
      }
      }
      

      【讨论】:

        猜你喜欢
        • 2012-06-22
        • 2016-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多