jQuery.ajax()のリクエストが返らない
下のような通信処理を書いています。
var returnObj = null;
var errorMsg = '';
function getAjaxHttpRequest(prms)
{
returnObj = null;
if (prms["sendXml"] == null)
{
prms["sendXml"] = "";
}
jQuery.ajax({
contentType: prms["contentType"]
, type: prms["type"]
, url: prms["url"]
, timeout: prms["timeout"]
, cache: prms["cache"]
, async: false
, processData: false
, data:
"formId=" + prms["formId"]
+ "&submitStatus=" + prms["submitStatus"]
+ "&appId=" + prms["appId"]
+ "&data=" + prms["sendXml"]
, success: function(data, dataType)
{
errorMsg = "";
}
, error: function(XMLHttpRequest, textStatus, errorThrown)
{
errorMsg = textStatus + ' - ' + errorThrown;
}
, complete : function(xmlHttpRequest, textStatus) {
var READYSTATE_COMPLETED = 4;
if( xmlHttpRequest.readyState == READYSTATE_COMPLETED ) {
var HTTP_STATUS_OK = 200;
if( xmlHttpRequest.status == HTTP_STATUS_OK ) {
returnObj = {
resultCode: 'success'
, data: xmlHttpRequest.responseText
};
} else {
if (xmlHttpRequest.responseText == '') {
returnObj = {
resultCode: 'error'
, textStatus: xmlHttpRequest.status + " - " + xmlHttpRequest.statusText
, responseText: errorMsg
};
} else {
returnObj = {
resultCode: 'error'
, textStatus: xmlHttpRequest.status + " - " + xmlHttpRequest.statusText
, responseText: xmlHttpRequest.responseText
};
}
}
} else {
returnObj = {
resultCode: 'error'
, textStatus: xmlHttpRequest.readyState + " - " + xmlHttpRequest.status + " - " + xmlHttpRequest.statusText
, responseText: xmlHttpRequest.responseText
};
}
errorMsg = '';
}
});
return returnObj;
}
まれに最後のreturnObjがnullで返ってくるようです。なぜでしょうか?
何が起きている可能性があるでしょうか。
jquery-1.4.3です。
お礼
addCallbackの事大変感謝です。ご回答いただいてから格闘していて、まだ実働できていない状態だったりします。 ただ、同時に友人からActionScript「new URLRequest」で直接PHPへアクセスする手段を教わり、この方法に今傾きつつ有る感じです。 addCallbackは知らなかっただけに大変参考になり、今後利用するチャンスもありそうで、とても助かりました。 ありがとうございます。