未捕获的SyntaxError:意外的令牌<在

时间:2015-02-19 07:40:27

标签: javascript jquery ajax jsonp

我正在向外部域发送ajax请求。这是我的代码, 将html数据转换为jsonp时,JSONP响应可能存在问题。我尝试了很多解决方案,因为我要求跨域,所以我必须使用JSONP否则我必须面对跨域错误。使用简单JSON错误时出错:“XMLHttpRequest无法加载http://www.blink.com.kw/search-result.aspx?text=apple&searchfor=all。请求的资源上没有'Access-Control-Allow-Origin'标头。因此不允许来自”localhost:49324“。”

回应错误: 未捕获的SyntaxError:意外的标记<

<script type="text/javascript">
  $(document).ready(function(){
      $("#bt").click(function(){
       $.ajax({
        type: 'GET',
        url: 'http://www.blink.com.kw/search-result.aspx?text=apple&searchfor=all',
        dataType: 'jsonp',
        success: function (data) {          
        console.log(data);
//$("#data").html(data);
        }
        }); 
    });
});
</script>

2 个答案:

答案 0 :(得分:2)

这可能正在发生,因为您将其指定为JSONP,它将数据作为脚本执行以执行回调函数。如果它发回一个普通的HTML文档,其中doctype是它看到的第一行,那么就会发生这种情况。

答案 1 :(得分:0)

  

试试这段代码,基本上我们不应该像这样使用url。   此外,此网址不会返回任何json或jsonp格式,请检查您的链接

<script type="text/javascript">
  $(document).ready(function(){
      $("#bt").click(function(){
       $.ajax({
        type: 'GET',
        url: 'http://www.blink.com.kw/search-result.aspx',
        dataType: 'jsonp',
        data:{
            text: apple,
            searchfor: all
        }
        success: function (data) {          
        console.log(data);
        }
        }); 
    });
});
</script>

希望这会有所帮助:)