JSON值总是未定义的,即使它不是......

时间:2014-02-21 14:21:40

标签: javascript jquery json

我想我疯了。

我正在整个项目中使用json对象,就像我在这里一样,除了这个例子不好玩。任何人都能看出它有什么问题吗?

json对象是:

{"theurl":"http://localhost:8888/sitename/success"}

我的javascript是:

function startSuccess_stripe(responseText, statusText, xhr, $form){
  console.log(responseText);
  if(typeof responseText !== 'undefined'){
    console.log(responseText);
    if(responseText['stripe']){
      alert('Your card has been declined. Please try again.');
    }else{
      console.log(responseText);
      console.log('ELSE: '+responseText['theurl']);
     // window.location = responseText['redirect'];
    }
  }
};

正如您所看到的,它充满了控制台日志。输出如下:

{"theurl":"http://localhost:8888/sitename/success"} main.min.js:2
{"theurl":"http://localhost:8888/sitename/success"} main.min.js:2
{"theurl":"http://localhost:8888/sitename/success"} main.min.js:2
ELSE: undefined

为什么最后一个未定义?这就是我在代码中引用每个其他json对象值的方式,并且没有任何问题,我很困惑。

编辑:@JasonP的建议是这样的。标头未在此特定页面上设置,因此它被视为HTML,而不是json。当我使用codeigniter时,缺少的特定代码是$this->output->set_content_type('application/json');作为控制器的一部分。对于其他人,您可以将dataType设置为ajax调用的一部分。

0 个答案:

没有答案