今天我使用的是j Query $ .post();方法,但我找不到我遇到的问题的原因。代码段位于
之下$(document).ready(function(){
//When the button 1 is clicked
$('#generateTable1').click(function(){
//Get the Json data of the product low in stock
$.post('database_to_phpJSON.php',{option:1},function(value){
value=JSON.parse(value);
console.log(value);
alert("hi");
},{dataType:'json'});
});
});
现在当我运行代码而不是我没有得到警告消息“嗨”并且在firebug的控制台中我没有看到console.log输出。 但是,当我从我的代码中删除 dataType时,每件事情都很好...... 请让我知道这一点。
答案 0 :(得分:1)
这是因为在使用$.post
时,您只将dataType作为字符串传递
$.post('database_to_phpJSON.php', {option:1}, function(value){
console.log(value);
alert("hi");
}, 'json').fail(function() {
console.log(arguments); // will tell you what's wrong
});
使用正确的dataType
时,结果将由jQuery自动解析答案 1 :(得分:1)
第三个参数是数据类型,你只需要传递一个字符串,而不是一个对象。
$.post('database_to_phpJSON.php',{option:1},function(value){
// and if you set the datatype to json, the value is already parsed.
// value=JSON.parse(value);
console.log(value);
alert("hi");
}, 'json');