안녕하세요. 아약스없이 jquery에서 게시물 형식으로 데이터를 보내는 데 문제가있었습니다. 내가 같이 URL을했다 :
intranetUrl+"customer/Ri_logon5.asp?requestString=";
및 매개 변수를 보낼 것이 있습니다
'manish|^info1234|^|^X|^11111985|^1.0|^|$';
나는대로 아약스와 그것을 시도 :
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);
alert("param:"+parameters);
$.post(encodedURL, parameters ,
function(data) {
alert("Data Loaded: " + data);
});
}
else
{
alert("You must enter a username and password", function() {});
$("#submitButton").removeAttr("disabled");
}
}
여기에 내가 올바른 결과를 얻었다 . 내가로 사용
: 여기
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);
alert("param:"+parameters);
$.ajax({
type: "POST",
contentType:"application/x-www-form-urlencoded; charset=UTF-8",
url: encodedURL,
data: parameters
}).done(function(msg)
{
response = msg
console.log("repon s???????????????e::>::"+response);
});
}
else
{
alert("You must enter a username and password", function() {});
$("#submitButton").removeAttr("disabled");
}
}
도 내가 올바른 결과를 얻었다 그러나 나는 아약스없이 다음 포스트 방법을 사용할 때 나는 결과 예상되지 않았다
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);
alert("param:"+parameters);
post_to_url(intranetUrl+"customer/Ri_logon5.asp", finalStr);
}
else
{
alert("You must enter a username and password", function() {});
$("#submitButton").removeAttr("disabled");
}
}
function post_to_url(url, params) {
var form = document.createElement('form');
form.action = url;
form.method = 'POST';
var postParam = encodeURIComponent(params);
var input = document.createElement('input');
input.type = 'hidden';
input.name = 'requestString=';
input.value = postParam;
document.body.appendChild(input);
form.appendChild(input);
form.submit();
}
하지만이를 사용하여 마지막 코드는 원하는 출력을 얻지 못했습니다. 이게 뭐가 잘못 됐니? 모든 제안을 주시면 감사하겠습니다.
지금의 나는 무엇을 서버 출력이로 가지고있어 확인 :
requestString%3D=manish%25257C%25255Einfo1234%25257C.....
특수 문자가/난 후 문제가 무엇 위에서 그들을 인코딩했다 늘지 디코딩 인코딩되지 않습니다 의미?
@dystroy 올바른 사용자 이름과 암호를 전달하면 서버는 응답이있는 문자열을 반환합니다. se 코드 0과 -1 중 하나 또는 모두가 부정확 할 때 -1. 매개 변수가 올바른 형식으로 보내지지 않으면 응답 코드가 1 인 문자열을 반환합니다. 예를 들어 성공하면 문자열이 잘못된 | 0 |^success |^잘못된 사용자 이름과 암호 -1 |^Unsucessfull |^및 3 번째 1 |^Not an 개체 | ^. 제 경우에는 마지막 출력을 얻었습니다 – PPD