2016-04-16 146 views
1

我在android studio中为登录/注册制作项目。 我使用排雷库和一个php脚本,连接我的java代码和我的数据库。POST方法工作完美,我可以在我的数据库中插入信息。但我没有收到任何回应。看到有一个错误,在我的PHP脚本。 下面是PHP脚本:响应方法在php脚本中无法正常工作

$con = mysqli_connect("mysql10.000webhost.com", "a3288368_user", "abcd1234", "a3288368_data"); 

$name = $_POST["name"]; 
$age = $_POST["age"]; 
$username = $_POST["username"]; 
$password = $_POST["password"]; 
$statement = mysqli_prepare($con, "INSERT INTO user (name, age, username, password) VALUES (?, ?, ?, ?)"); 
mysqli_stmt_bind_param($statement, "siss", $name, $age, $username, $password); 
mysqli_stmt_execute($statement); 

$response = array(); 
$response["success"] = true; 

echo json_encode($response); 

任何想法是什么问题呢?

+0

对服务器上的文件'var_export($ response)'最好看看它的内容是什么(如果你可以调试它,那么肯定使用带有断点的调试器) –

回答

1

使用

print_r(json_encode($response)); 

不能呼应JSON字符串。

+0

可以回显任何东西。 print_r()只是一个渲染数组的问题(这是PHP的问题)。 Echo将[包]内容发送回客户端。 –

+0

准确地说,我的意思是说用户必须调用该[数据包]才能使用echo而不是整个json字符串得到结果。如果我错了,请纠正我。 他可以使用:'echo $ response ['success'];' –

+1

当你在'json_encode()'你正在创建一个字符串。该字符串仅对JSON解析器有意义,否则,它只是一个字符串,因为“Hello World”是一个[字符]字符串。 如果用户不想'json_encode()' –

1

呼应出响应之前,您应该设置一个JSON头:

header("Content-type: application/json; charset=utf-8"); 

这告诉HTTP客户端期望的内容的JSON类型。

+0

我正在使用排球库。似乎不起作用排除 –