0

我在 IE8/7 中遇到了一个奇怪的问题(一如既往),但这次它提出了 zend 框架.. 下面我已经解释了..

问题,

当我在 zend 框架 1.X 中使用 jquery ajax 方法时,如下所示,如果我使用,'type: 'POST' 那么我的 zend 控制器将不会检测到参数值,而不是显示空白..

例如在我的 Zend 控制器中

`echo $this->_request->getParam('aData');` //echo nothing 

但如果我使用类型:'GET',所有参数都会在我的 zend 控制器中正常显示。

echo $this->_request->getParam('aData'); //echoing parameter values

$.ajax({
            type: 'GET',
            dataType: 'json',
            url: "/xhr_process/commentsave/",
            data: aData,
            success:function(aResponse){
                console.log(aResponse);
            }
        });

这仅在 IE 8/7 中出现,其他所有浏览器都运行良好

感谢想法!

更新

我已将 CACHE 设置为 false 不成功

console.log(aData); Object { sCommentText="wewewewew", iComponent="1"}

更新 2

我们正在使用 NTML 进行身份验证

4

4 回答 4

0

当您通过 ajax 作为 post 变量发送数据时,您需要将数据作为 urlencoded 字符串提交:,您还需要在您的 ajax 调用中设置它们post

  data: "aData="+aData

或类似的方式是作为一个对象。

  data: {aData: aData}

jQuery 将处理将数据正确编码到 http 帖子正文中。

 $.ajax({
      type: 'POST',
      dataType: 'json',
      url: "/xhr_process/commentsave/",
      data: {aData: aData},
      success:function(aResponse){
          console.log(aResponse);
      }
 });
于 2013-08-05T03:21:38.453 回答
0

“您不能将任何数据发布到混合的 NTLM 和非 NTLM 身份验证的网站。在您访问网站的一个经过 NTLM 身份验证的文件夹后,Microsoft Internet Explorer 要求对网站的所有访问进行 NTLM 身份验证。”

$_POST 变量在 IE7 中为一个子文件夹为空

于 2013-08-06T06:34:41.807 回答
0
echo $this->_request->getParam('aData'); //echoing parameter values

<script type="text/javascript">
$.ajax({
            type: 'GET',
            dataType: 'json',
            url: "/xhr_process/commentsave/",
            data: {'aData':aData},
            success:function(aResponse){
                console.log(aResponse);
            }
        });
</script>

use this code it will work because i am also using this code for IE7 & 8
于 2013-08-06T06:09:35.117 回答
0

注意 post 和 get 方法(getParam()getPost()方法)的区别:

使用帖子:

echo $this->_request->getParam('aData'); //echoes nothing 
echo $this->_request->getPost('aData'); //echoes aData value

使用获取:

echo $this->_request->getParam('aData'); //echoes aData value
echo $this->_request->getPost('aData'); //echoes nothing
于 2013-07-31T16:00:37.233 回答