我有以下代码用于连接到供应商。运行时,我返回状态码 0。使用 Wireshark 进行评估时,我发现请求失败,原因如下:
错误:传入消息具有意外的消息格式“原始”。该操作的预期消息格式为“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);
}
},
});