0

我有一个非常基本的连接测试设置,它在我使用 JSON ccontentType 时有效,但在我将其保留为默认值并仅请求字节数据时失败。我认为这一定是 AMFPHP 配置或服务器的错误或问题,不一定是 Ext-JS,这就是我主要将其标记为 AMFPHP 的原因。任何线索将不胜感激。提前致谢。

我的参数数组:

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�1格式错误的 Amf 数据包,连接可能已断开。faultDetail#0 /home/public_html/Amfphp/核心/Amf/Deserializer.php(75):Amfphp_Core_Amf_Deserializer->readHeaders()

1 /home/public_html/Amfphp/Core/Amf/Handler.php(92): Amfphp_Core_Amf_Deserializer->deserialize()

2 /home/public_html/Amfphp/Core/Gateway.php(187): Amfphp_Core_Amf_Handler->deserialize(Array, Array, '{"serviceName":...')

3 /home/public_html/Amfphp/index.php(34): Amfphp_Core_Gateway->service()

4 {main}�根原因�Amfphp_Core_Exception����`

4

1 回答 1

0

您看到的是 AMF,这是答案的默认格式。这意味着 Json 插件没有启动,要么因为它不存在,要么你以某种方式搞乱了调用。Javascript 示例是否有效?如果是这样,请尝试使用数据包嗅探器将您的代码发生的情况与它工作时发生的情况进行比较。如果没有,请回到这里。

于 2012-11-29T20:55:47.163 回答