第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 JSP 中看不到 Json 數(shù)據(jù)結(jié)果

在 JSP 中看不到 Json 數(shù)據(jù)結(jié)果

qq_花開花謝_0 2022-01-07 10:34:37
在我的 .JSP 文件中,我有:<form id="form">    <input type="text" name="name" id="name"><br><br>    <input type="text" name="address" id="address"><br><br>    <input value="Submit" type="submit" onclick="submitform()"></form><p id="result"></p></body>我的Javascript函數(shù)是:function submitform(){var  userName = $('#name').val();var  userAdd = $('#address').val();var myVar = JSON.stringify({name: userName, address:userAdd});        $ajax({            url: 'jsonserverlet',            type: 'POST',            data: 'per=' + myVar,            dataType: 'json',            success:function(data){            var json= JSON.stringify(data);            alert(json + " " + data.name + " " + data.address);            $("#result").html(data.name + " " + data.address);            }        });};我還創(chuàng)建了一個(gè)帶有一些數(shù)據(jù)的新類 User.java ,然后在我的 Jsoncontent.java 中,在方法 POST 中我設(shè)置了我的變量并創(chuàng)建了一個(gè)對 json 的請求,如下所示:        String jsonData = request.getParameter("per");        System.out.println(jsonData);        Gson gson = new Gson();        User data = gson.fromJson(jsonData, User.class);        System.out.println("Fetching json object");        String name = data.getName();        String address = data.getAddress();        System.out.println("User Name: "+ name );        System.out.println("User Address: "+ address );        User user = new User();        user.setName(name);        user.setAddress(address);        String jsonObj = gson.toJson(user);        System.out.println(jsonObj);        out.print(jsonObj); 因此,所有工作都沒有錯(cuò)誤或警告,但是當(dāng)我單擊提交按鈕時(shí)我看不到結(jié)果。我不知道為什么。
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

您在對另一個(gè)答案的評論中注意到,我仍然有一個(gè)白色的瀏覽器頁面,但沒有名稱和地址,這表明瀏覽器正在遠(yuǎn)離您當(dāng)前正在查看的頁面,因此,您沒有發(fā)出 Ajax 請求 - 或由于您沒有禁用默認(rèn)提交事件,您更有可能發(fā)出 Ajax 請求,但同時(shí)也發(fā)出標(biāo)準(zhǔn) HTTP Post 請求。


因此,您需要禁用默認(rèn)提交操作。


https://api.jquery.com/event.preventdefault/ https://www.w3schools.com/jquery/event_preventdefault.asp


<form id="form">

    <input type="text" name="name" id="name"><br><br>

    <input type="text" name="address" id="address"><br><br>

    <input value="Submit" id="submit" type="submit">

</form>

<p id="result"></p>

</body>



$('#submit').click(function(e){

    e.preventDefault(); //prevent standard post


        $.ajax({

            url: 'jsonserverlet',

            type: 'POST',

            data: $("#form").serialize(),

            dataType: 'json',


            success:function(data){

            var json= JSON.stringify(data);

            alert(json + " " + data.name + " " + data.address);

            $("#result").html(data.name + " " + data.address);

            }

        });

})


查看完整回答
反對 回復(fù) 2022-01-07
?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊

你錯(cuò)過了重點(diǎn):你有 $ajax 但應(yīng)該是$.ajax


您也可以提交表單而不是 json,例如:


function submitform(){

        $.ajax({

            url: 'jsonserverlet',

            type: 'POST',

            data: $("#form").serialize(),

            dataType: 'json',


            success:function(data){

            var json= JSON.stringify(data);

            alert(json + " " + data.name + " " + data.address);

            $("#result").html(data.name + " " + data.address);

            }

        });

}

并在 servlet 中獲取參數(shù)“名稱”和“地址”:


public void doPost(HttpServletRequest request, HttpServletResponse response)

            throws IOException {

    ...

    String name = request.getParameter("name");

    String address = request.getParameter("address");

    ...

}

答案的變化


抱歉,我只關(guān)注警報(bào)消息的結(jié)論。Alan Hay 說得對,您可以使用它或?qū)㈩愋透臑榘粹o。無論如何,這是工作代碼


Servlet.java


import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.io.PrintWriter;


@WebServlet(urlPatterns = "/jsonserverlet")

public class Servlet extends HttpServlet {


    public void doPost(HttpServletRequest request, HttpServletResponse response)

            throws IOException {

        response.setContentType("text/html;charset=UTF-8");

        PrintWriter out = response.getWriter();

        String jsonData = request.getParameter("per");

        out.print(jsonData);

    }

}

索引.jsp


<html>

<head>

        <script src="http://code.jquery.com/jquery-2.2.4.js"

         type="text/javascript"></script>

</head>

<body>

        <form id="form">

            <input type="text" name="name" id="name"><br><br>

            <input type="text" name="address" id="address"><br><br>

            <input value="Submit" type="button" onclick="submitform()">

        </form>

        <p id="result"></p>

</body>

<script>

function submitform(){

var  userName = $('#name').val();

var  userAdd = $('#address').val();


var myVar = JSON.stringify({name: userName, address:userAdd});

        $.ajax({

            url: 'jsonserverlet',

            type: 'POST',

            data: 'per=' + myVar,

            dataType: 'json',


            success:function(data){


            var json= JSON.stringify(data);

            alert(json + " " + data.name + " " + data.address);

            $("#result").html(data.name + " " + data.address);

            }

        });

}

</script>

</html>


查看完整回答
反對 回復(fù) 2022-01-07
  • 2 回答
  • 0 關(guān)注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)