错误:对象不支持属性或方法'indexOf'

时间:2011-08-10 04:24:49

标签: javascript asp.net-mvc-3 jquery

我对JsonAction进行了ajax调用

              $.ajax({
                url: "/Cancel/",
                context: document.body,
                success: function (result) {
                    if (result.indexOf("Authorize") != -1) //indexOf not supported?
                              window.location.replace("/Account/LogOn");
                         //...
              };

为什么会这样?

我也是这样想的:

var responce = result;
if (responce.indexOf("Authorize") != -1)

var responce = $(result);
if (responce.text().indexOf("Authorize") != -1)

但都一样。 Ned帮助如何使.indexOf工作。

2 个答案:

答案 0 :(得分:2)

服务器响应很可能被解释为JSON,并被jQuery自动转换为数据对象。在这种情况下,它可能没有indexOf成员,它肯定不会是一个功能。

尝试通过将设置对象的dataType属性设置为“text”来强制jQuery将响应保留为文本:

$.ajax({
  url: "/Cancel/",
  dataType: "text",
  ...

答案 1 :(得分:0)

你好试试这种方式

$.ajax({
            url: "/Cancel/",
            context: document.body,
            success: function (result) {
              var str=String(result);
                if (str.indexOf("Authorize") != -1) //indexOf not supported?
                          window.location.replace("/Account/LogOn");
                     //...
                     //...
          };