0

フォームを ajaxSubmit すると、サービスは数値を返します。何らかの理由で、ajaxSubmit はタグの束を追加しているようです。

        form.ajaxSubmit(function(data){
          alert(data);
    });
});

ここでは、アラートが出力されます。"<head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">130</pre></body>"

一方、デバッガーでチェックインすると、値は単純に 130 です。

ここに画像の説明を入力 ここに画像の説明を入力

サービスが正しい値を返すように見えるため、この問題はクライアント側でのみ発生すると仮定しました。私が間違っている場合は、私を修正してください。

javascript の値と応答の値が異なるのはなぜですか?

4

2 に答える 2

3

問題は、jquery.form がプレーンテキストを受け取ることを想定しておらず、JSON、XML、HTML、またはスクリプトのいずれかを想定していることです。

そこで、サーバー側から JSON データを送信し、JSON がクライアント側で期待される形式であることを指定することで、これを解決しました。

form.ajaxSubmit(
        {dataType: 'json',
            success: function(data) {
                alert(data) });
于 2011-10-14T10:21:45.613 に答える
1

このjQueryフォームプラグインを使用していると思います。そのAPIは次のように述べています。

注:標準の$.ajaxオプションのいずれかをajaxFormに渡すことができます

オプションを渡してみましたdataTypeか?このような:

form.ajaxSubmit({
    dataType: 'text',
    success: function(data){ alert(data); }
});
于 2011-10-13T14:53:51.417 に答える