作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个通过 JSONP 调用从另一台服务器获取数据的代码(基于 jQuery),请看下面的代码......
$("#submit").click(function() {
var state=$("#state").val();
var city=$("#city").val();
$.ajax({
type: "GET",
url: "http://www.dizainstore.com/chrome/info.php",
async: true,
data: "state="+ state+ "&city="+ city,
dataType: 'jsonp',
success: function(response) {
var centres=response.centres_info.centre;
var address=response.centres_info.address;
var val ;
var val1 ;
var und
$.each(centres, function(i,cent){
val += "<div class='box2-l'>" + cent + "</div><div class='box2-r'>" + address[i] + "</div>" ;
});
var new_val = "<div class='box1'><div class='box1-l'>Center List</div><div class='box1-r'>Address List</div>"+val+"</div>"
$(".result1").html(new_val);
}
});
return false;
});
它对我来说工作得很好。但是当我在 Google Chrome 扩展中使用时,它不起作用,发生错误:-我们不能使用 jquery Ajax 调用,他们建议使用 xmlhttprequest。但我不知道如何将此代码转换为 XMLhttpRequest。所以请建议我。
谢谢
最佳答案
由于返回的是 JSONP,因此看起来 dizainstore 正在使用 RESTful API,并希望您通过脚本注入(inject)使用 JSONP:
http://en.wikipedia.org/wiki/JSONP#Script_element_injection
您的代码将如下所示:
function handleDizain(response)
{
var centres=response.centres_info.centre;
var address=response.centres_info.address;
var val ;
var val1 ;
var und
$.each(centres, function(i,cent){
val += "<div class='box2-l'>" + cent + "</div><div class='box2-r'>" + address[i] + "</div>" ;
});
var new_val = "<div class='box1'><div class='box1-l'>Center List</div><div class='box1-r'>Address List</div>"+val+"</div>"
$(".result1").html(new_val);
}
$("#submit").click(function() {
var state=$("#state").val();
var city=$("#city").val();
//Create a new script tag
var loader = document.createElement( "script" );
loader.setAttribute( "type", "text/javascript" );
//Set the source
loader.src = "http://www.dizainstore.com/chrome/info.php?state=" + state + "&city=" + city + "&callback=handleDizain";
//Add it to the body
document.body.appendChild( loader );
});
关于javascript - 如何在 Google Chrome 扩展中使用 jQuery ajax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19419479/
我是一名优秀的程序员,十分优秀!