我已经看到了有关从发送HTML数据PHP 到一个HTML页面的一些问题,但这个问题实际上是相反不起作用(我可以从PHP HTML罚款与json_encode)。发送HTML通过的getJSON javascript变量
的一小段代码,说明大部分:
savePage = function() {
var pagecontents = $("#editcontents").val();
log("Attempting to save page...");
$.getJSON(docTools+"?jsoncallback=?",{action:'update', loginCookie:loginCookie, page:thisFile, newdata:pagecontents}, function(data) {
if(data.response[0].answer === 'true') {
log('Page'+thisFile+' was saved correctly: '+data.response[0].details);
$("#editcontents, #saveedit, #canceledit").remove();
$("#bodycontents").html(pagecontents);
} else {
log('Failed to save page. Error (' + data.response[0].errorcode + ') : ' + data.response[0].errormessage);
}
});
}
FYI:登录少了点,如果它存在CONSOLE.LOG。
所以基本上这里所发生的是,pagecontents变量包含HTML数据,所有这些都在<body>
标签(意思是没有头信息,如果该事项)。然而,当我真正调用这个函数时,log()函数可以正常工作......但是getJSON()永远不会完成(实际上,据我所知它永远不会传递给我的PHP服务器)。
如果我用一个标准字符串替换页面内容,它工作正常。
在发送之前,我需要做类似于JavaScript的json_encode吗?什么东西可以将所有内容转换为html实体?
- 编辑 -
所以我刚刚发现在Firebug的“网络”选项卡,它的显示我的东西我没有意识到:它显示了所有正确的数据的GET请求......但服务器返回一个404。我不知道这是怎么发生的,因为PHP文件与我之前5秒钟抓取的东西是一样的。即使我试图用.post(...,'json')更改.getJSON(),Firebug仍然显示GET请求,而不是POST,所以现在让我更加困惑。
多久实际字符串? JSONP是一个GET请求,所以你会遇到一些限制。 – 2011-05-01 05:36:10
啊,我明白你的意思了,你可能会做点什么。在这个例子中,代码长达3632个字符,这是相当长的(并且我不得不发送最长的)。由于getJSON不会发布,我可能需要深入挖掘... – 2011-05-01 05:41:49