在JSONP请求中发送html

时间:2014-02-19 03:04:32

标签: jquery html ajax json jsonp

我正在尝试在此处https://s3.amazonaws.com/lawkickstas/lawkick_html.json提出请求......

{"html":"<div id=\'nates_widget\'>
  <div id=\'question\'></div>
  <form>
    <input type=\'text\' />
  </form>
  <div id=\'result\'></div>
  <div id=\'hints\'></div>
</div>"}

用这个

$.getJSON("https://s3.amazonaws.com/lawkickstas/lawkick_html.json?callback=?",   function(result){
 //response data are now in the result variable
 alert(result);
});

但是我收到了一个意外错误令牌:
我想知道A.如果这是从外部源检索html的方法和B.这个回调是什么?我把它放在哪里?

2 个答案:

答案 0 :(得分:1)

@natecraft,你也可以使用$.getJSON

$.getJSON("https://s3.amazonaws.com/lawkickstas/lawkick_html.json?callback=?",function(result){
});
function myJsonMethod(str) { console.log(str); }

答案 1 :(得分:0)

这是经过多次尝试后的效果。在.json文件中,我正在发出请求,将其更改为此(将其包装在函数中)...

myJsonMethod({"html": "<div id='nates_widget'><div id='question'></div><form><input type='text' /></form><div id='result'></div><div id='hints'></div></div>"})

然后拨打电话......

$.ajax({
  type : "GET",
  url :"https://s3.amazonaws.com/lawkickstas/lawkick_html.json?callback=?",
  dataType :"jsonp",
  jsonp: false,
  jsonpCallback: "myJsonMethod",
  success : function(data){
     console.log(data, "WORKED");},
  error : function(httpReq,status,exception){
    alert(status+" "+exception);
 }
});

当json文件中的对象未被myJsonMethod()包围时,它不起作用,当行jsonpCallback:“myJsonMethod”未包含时,它也不起作用。为什么?天知道。