Ajax 错误:语法错误:预期的表达式,得到'<'



我正在尝试从服务器登录到另一台服务器到另一个站点。但是每次都会出现这个错误。

SyntaxError: expected expression, got '<'
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E

请帮助。

url = "http://www.example.co.uk/email/admin/index.php?Page=&Action=Login";
//        console.log(url);
//        return false;
        postData = {ss_username:"username",ss_password:"password",Action:"login"}
        $.ajax({ //update page and redirect
          type: 'POST',
          url: url,
//          crossDomain: true,
          dataType: "jsonp",
          data: postData,
          success: function (response) {
            console.log(response);
          },
          error: function (response) {
            console.info(response);
          }
        });

JSONP基本上将内容包裹在脚本标签中,并做出跨站点允许的请求(因为脚本标签没有与Ajax相同的限制)。

您的页面返回HTML(我敢打赌<是HTML标签的一部分),它是JavaScript对象无效的。

相反,使用CORS以允许和明智的方式执行安全,更明智的跨站点脚本。

注意:始终使用https而不是http登录(否则人们可以mitm您),而jsonp请求(注入脚本标签)始终获取。

您的其他服务器会遇到错误(因此响应是错误HTML页面),或者您必须将AJAX类型从'jsonp'更改为'xml'

相关内容

  • 没有找到相关文章

最新更新