簡體   English   中英

使用$ .ajax提交表單

[英]submitting a form using $.ajax

當dom准備就緒時,我正在調用此函數$().submit但似乎沒有工作,沒有來自服務器的響應

$(function(){
     $("#logingform").submit(function(){

            var values =$(this).serialize();

            call_server("../php/login.php",values);
     });
});

function call_server(URL,DATA) 
{
    $.ajax(
        {
            type:'POST',
            url : URL,
            data : DATA,
            dataType:'json',
            success:function(response){
                    $("#d1").append(response);
                }
        }
        );
}

似乎沒有任何東西從服務器回來。

server code
<?php

$email = $_POST['loginemail'];
$password =$_POST['loginpassword'];


echo json_encode(array('returned_val' => 'yoho'));

你的ajax選項后面還有一個額外的半冒號:

data : $(this).serialize();,

vs正確

data : $(this).serialize(),

您不需要解析返回的json,因為您已經在ajax選項中定義了dataType:'json'

$("#d1").append($.parseJSON(response));

這不是必要的。

如果要將響應對象顯示為字符串,則需要對其進行字符串化:

$("#d1").append(JSON.stringify(response));

此外,您在此行中有語法錯誤:

data : $(this).serialize();,

刪除;


POST的數據應該是json格式,而不是$(this).serialize() ,對你的數據使用$(this).serializeArray() 這將傳遞POST主體的值而不是查詢字符串中的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM