0

こんにちは、post メソッドを使用してサーバーにデータを送信したいのですが、ajax は使用しません。次のようなデータを送信しています。

function handleLogin()
{

var form = $("#loginForm");    
 var u = $("#username", form).val();
var p = $("#password", form).val();
var d = $("#dob", form).val();

if(u != '' && p!= '')
{

    var finalStr = u+encodeURIComponent("|^")+p+encodeURIComponent("|^")+encodeURIComponent("|^")+"X"+encodeURIComponent("|^")+d+encodeURIComponent("|^")+"1.0"+encodeURIComponent("|^|$");
    var encodedURL = encodeURI(intranetUrl+"customer/Ri_logon5.asp?requestString=");
    var parameters =  decodeURIComponent(finalStr);
    post_to_url(encodedURL,parameters);      

}


else
{

    alert("You must enter a username and password", function() {});
    $("#submitButton").removeAttr("disabled");
}


}

私のpost_to_url関数は次のとおりです。

function post_to_url(url, params) {
var form = document.createElement('form');
form.action = url;
form.method = 'POST';

for (var i in params)
{
    if (params.hasOwnProperty(i))
    {
        var input = document.createElement('input');
        input.type = 'hidden';
        input.name = i;
        input.value = params[i];
        form.appendChild(input);                      
    }
}

 form.submit();
}

しかし、サーバーからは、間違ったパラメーターを渡したときに来るオブジェクトではなく、応答がありました。しかし、ajax ten で同じパラメーターを渡すと、完全に機能します。なぜそうなのですか?

私の URL 形式は次のとおりです。http://myDomain/Ri_logon5.asp?requestString=

パラメータの形式は次のようになります:manish|^info1234|^|^X|^11111985|^1.0|^|$

URL を入力して残りのクライアントにパラメーターを渡すと、適切な応答が得られます。

4

2 に答える 2

0

私は正常に動作するajaxで次のmwthodを使用していました:

$.ajax({
                            type: "POST",
                            contentType:"application/x-www-form-urlencoded; charset=UTF-8",
                            url: clientDetailURL,
                            data: finalclientDetailParam
                          }).done(function( msg1 )
                          {
                                      var clientDetailResponse = msg1;
                                      console.log("Client detail response is:"+clientDetailResponse);


                          });

clientDetailURL は http://myDomain/Ri_logon5.asp?requestString= で、finalClientDetailParam は manish|^info1234|^|^X|^11111985|^1.0|^|$ です。

このajaxでは問題なく動作しますが、ajaxなしのPOSTメソッドでは同じではありません。それは完全に混乱しています。

于 2012-07-08T13:37:12.757 に答える