我正在向外部域发送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>
答案 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>
希望这会有所帮助:)