在firebug中,在POST标签中,我看到以下内容;
JSON
textfieldone "Alex"
Source
{"textfieldone :"Alex"}
但是在PARAMS标签中我看到了
_dc 1341332451114
当我print_r($_REQUEST);
得到
Array
(
[_dc] => 1341332451114
)
而不是在POST选项卡中找到的JSON。我怎么能解决这个问题?
我不知道为什么这是hapenning,我试图整天调试
更新PHP代码:
<?php
// Make a MySQL Connection
mysql_connect("localhost", "root", "pwd") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());
print_r($_REQUEST);
在萤火虫中,我在网址下看到上面的回复;
POST http://localhost/proj/php/result.php?_dc=1341332451114 200 OK 107ms
我可以知道?_dc=1341366375982
是什么。我正在发送POST
更新2
EXT JS4代码
MODEL
Ext.define ('Mycomp.model.MyClass',{
extend: 'Ext.data.Model',
fields:['textfieldone']
});
查看
Ext.define('Mycomp.view.user.MyClassView', {
extend: 'Ext.window.Window',
alias: 'widget.myclassview',
initComponent: function() {
this.items = [
{
xtype: 'form',
items: [
{
xtype: 'textfield',
name : 'textfieldone',
fieldLabel: 'Contact Person Name'
}
]
}
];
this.buttons = [
{
text: 'Save',
name:'save',
action: 'save'
}
];
this.callParent(arguments);
}
});
CONTROLLER
Ext.define('Mycomp.controller.MyClass',{
extend: 'Ext.app.Controller',
stores:['MyClass'],
models:['MyClass'],
views:['MyClassView'],
init: function(){
this.control({
'myclassview button[action=save]': {
click: this.myMethod
}
});
},
myMethod: function(button, record) {
var win = button.up('window'),
form = win.down('form'),
values = form.getValues(),
store = this.this.getmyClassStore(),
model = store.model,
record = model.create();
record.set( values );
store.add( record );
win.close();
store.sync();
}
});
STORE
Ext.define('Mycomp.store.Myclass',{
extend:'Ext.data.Store',
model:'App.model.Myclass',
proxy: {
actionMethods : {
create : 'POST'
},
type: 'ajax',
url : '/savetodb.php'
}
});
答案 0 :(得分:2)
我认为您需要设置.php文件头以提供JSON:
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
答案 1 :(得分:2)
尝试以下代码,它应该可以解决您的问题:
<?php
var_dump(json_decode(file_get_contents('php://input')));
?>