Jquery: - ошибка [object Object]

У меня есть файл validation.js

var name = $("#name");

    $.ajax({
        type:       "get",
        url:        "test.jsp",
        data:           "name="+name,
        success:    function(msg) {

            $('#result').hide();

            $("#result").html(msg)
            .fadeIn("slow");
        }
    });

test.jsp

</head>
    <body>
        <h1><%
        String user=request.getParameter("name");
        out.print(user);
        %></h1>
    </body>

файл user.jsp для входа в систему

<form method="post" id="customForm" action="welcome.html">
        <div>
            <label for="name">Name</label>
            <input id="name" name="name" type="text" />
                            <span id="nameimage"></span>

            <span id="nameInfo"></span>
                          <p id="result"></p>  
        </div>

Мне нужно показать имя пользователя в моей форме, как только пользователь перейдет к следующей feild в моей форме. но он показывает ошибку [object Object], где p тег начинает

Ответы

Ответ 1

выглядит как msg не то, что вы ожидаете. Я думаю, вы хотите msg.responseText

Причина, по которой вы видите [object Object], состоит в том, что msg имеет объект типа, и вы передаете его в .html, который преобразует его в строку. И, таким образом, html заполняется строковым представлением объекта, который в этом случае является "[object Object]"

Ответ 2

Вам нужно будет передать значение или текст объекта #name. Вот так:

var name = $("#name").val();
var name = $("#name").text(); 

Ответ 3

msg представляется объектом документа, а не строкой, содержащей соответствующее имя. Мне кажется, что вы хотите $('#response').text($(msg).find('h1').text());

Ответ 4

Дорогой IE ожидает перенаправления где-то, когда вы используете якорный тег. Если у вас есть что-то вроде следующего:

<a href="javascript: submit()">Submit</a>

IE будет показывать пустую страницу с [Object object] при использовании JSON, даже если submit() использует ajax.

Вместо этого вы можете использовать onClick или javascript:void sumbit() следующим образом:

<a id="btn-submit">Submit</a>
<script>
    $(document).on('click', '#btn-submit', function(event){
        event.preventDefault();
        submit();
    });
</script>

Я не тестировал пустое решение, но мой коллега говорит, что тот, который он использует.