1

私は小さなメールサーバーを書いています。クライアント側が書き込まれjavascript/jquery、サーバー側が書き込まれますnodeJS(これは宿題です)

クライアント側では、次のようにメールを送信します

function send() {
var dataString = 'to=' + $("#to").val() + '&subject=' + $("#subject").val() + '&body=' + $("#body").val();
var lines = $("#body").val().split("\n");
for (var i = 0;i < lines.length;i++ ) {
    dataString += '&line' + i + '=' + lines[i];
}
$.ajax({
            type: "POST",
        url: "/send",
            cache: false,
        data: dataString,
        success: function(data) {
        location.reload();
            },
        error: function(xhr, textStatus, errorThrown) {
        location.reload();
        }
        });
}

$("body")textarea要素はどこにありますか。私bodyはクライアントに出力しました、そしてそれは確かにヘブライ語でした。この関数を使用してメールを取得します。

function getMail() {
    $("#navigationButtons").show();
    $("#workingAread").empty();
    var dataString = 'start=' + start + '&url=' + url;
    $.ajax({type: "GET", data: dataString, dataType:"json", url: 'getMail', cache: false})
    .done(function(data){
        mails = data;
        $("#workingArea").empty();
        if (mails.length === 0) {
                $("#workingArea").html("Your inbox is empty");
        }
        var mailContainer = $("<div></div>");
        numOfMails = mails.pop();
            mails.forEach(function(elem,i){
                var mail =  $("<span></span>");
                mail.text(elem.fullName + ", " + elem.date + ": " + elem.subject);
                mail.click(showMail.bind(this,i));
            var chk = $("<input></input>")
                    .attr("type","checkbox")
                    .attr("id",elem.uuid);
                mailContainer.append(chk).append(mail);
                mailContainer.append("<br>");
            });
            $("#workingArea").append(mailContainer);
        return;
    })
}

ご覧のとおり、dataTypeはに設定されていjsonます。問題は、私がぎこちなく、ほとんどが疑問符になることです。

誰かがそれを解決する方法についてのアイデアを持っていますか?

ありがとう!

4

1 に答える 1

2

HTMLページがUTF-8としてエンコードされていること、サーバーがUTF-8を送信していること、および電子メールがUTF-8として保存されていることを確認してください。

于 2013-01-22T17:18:40.833 に答える