我有一个非常基本的连接测试设置,当我使用JSON ccontentType时它会起作用,但是当我把它作为默认设置并且仅请求字节数据时失败。我认为这必须是AMFPHP配置或服务器的错误或问题,而不一定是Ext-JS,这就是为什么我主要将其标记为AMFPHP。任何线索将非常感激。提前谢谢。
我的params数组:
var amf_params = { serviceName:'svcp' ,methodName:'fetchp' ,参数:[] };
WORKS,返回以JSON格式设置的数据:
Ext.Ajax.request({
method: 'POST'
, url: 'http://mysite.com/Amfphp/?contentType=application/json'
, binary: true
, params: JSON.stringify(amf_params)
, success: function(response) {
console.log('response as string: ' + JSON.stringify(response));
}
});
控制台中的响应:
[{“id”:1,“TID”:1,“updatedt”:“2012-11-24 23:35:43”,“createdt”:“2012-11-24 23:35:43” ,“名字”:“鲍勃”......等等。
不工作,返回错误“格式错误的Amf数据包,连接可能已丢失”
Ext.Ajax.request({
method: 'POST'
, url: 'http://mysite.com/Amfphp/'
, binary: true
, params: JSON.stringify(amf_params)
, success: function(response) {
console.log('response as string: ' + JSON.stringify(response));
console.log('responseText: ' + response.responseText);
}
});
控制台中的响应(是的,有时髦的角色 - 不想在下面加粗任何东西,只是不想编辑文本):
` / 1 /onStatus null C faultCode faultString 1MalformedAmf Packet,连接可能已经丢失了故障详情#0 / home / public_html /Amfphp/Core/Amf/Deserializer.php(75):Amfphp_Core_Amf_Deserializer-> readHeaders()
答案 0 :(得分:0)
您所看到的是AMF,这是答案的默认格式。 这意味着Json插件没有插入,因为它不存在或者你以某种方式弄乱了这个调用。 Javascript示例有效吗?如果是这样,请尝试使用数据包嗅探器来比较代码发生的情况与工作时发生的情况。 如果没有,请回到这里。