ベンダーに接続するために使用している次のコードがあります。実行すると、ステータス コード 0 が返されます。Wireshark を使用して評価すると、次の理由でリクエストが失敗していることがわかります。
エラー: 受信メッセージに予期しないメッセージ形式 'Raw' があります。この操作で想定されるメッセージ形式は、'Xml'、'Json' です。
ドキュメントから、 dataType 設定が着信データのみを定義することがわかりました。出力を JSON として設定するにはどうすればよいですか?
(お粗末なコーディングをお許しください。これは現時点では単なるシェルです)
var key = "xxxxxx";
$.ajax({
type : "POST",
dataType : "JSON",
url : "http://url",
data : {
"CityName":cty,
"FirmOrRecipient":name,
"LicenseKey":key,
"PrimaryAddressLine":s1,
"SecondaryAddressLine":s2,
"State":st,
"ZipCode":zip
},
success : function (data, status, xhr) {
var pretty = JSON.stringify(data, null, 4).replace( / /g, ' ').replace( /\n/g, '<br />');
$('div#results').html(pretty);
},
error : function(jqXHR, textStatus, errorThrown){
if (jqXHR.status === 0) {
alert('ERROR: \n Failed to connect to PAV.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('ERROR: \n Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('ERROR: \n Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('ERROR: \n Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('ERROR: \n Time out error.');
} else if (exception === 'abort') {
alert('ERROR: \n Ajax request aborted.');
} else {
alert('ERROR: \n Uncaught Error.\n' + jqXHR.responseText);
}
},
});