【发布时间】:2013-06-23 13:05:28
【问题描述】:
我不知道问题出在哪里。 这是我发布 JSON 的 JS 函数:
function send(var1, var2) {
var result;
att = window.location;
$.ajax({
'crossDomain': true,
'type': 'POST',
'async': false,
'global': false,
'data': {
"event_id": var1,
"status": var2
},
'url': att + 'post.php',
'dataType': 'json',
success: function (data) {
result = data['result'];
}
});
}
在服务器端,这个(文件:post.php):
<?php
echo $_POST;
?>
只打印“数组”。 问题是我必须以这种确切的格式发送“数据”(我无法将其字符串化,然后使用 php json_decode() 函数)。我也尝试了 « file_get_contents("php://input") » 方式,但仍然没有。 我不明白问题是我无法正确发布 json 还是我无法在 php 端读取它。 GET方法的实验很好。 抱歉我的英语不好,感谢大家的关注。
【问题讨论】:
-
今天刚好是这个,好像var1, var2是
undefinedundefined -
感谢您的回答,但可悲的是,如果我将“数据”更改为:“数据”:{“event_id”:“value1”,“status”:“value2”},没有任何变化:(
-
try
var_dump($post);...echo不适用于您所想的数组。另外,您能否验证(通过萤火虫)数据是否正确发布? -
你能链接到一个活生生的例子吗?您确定参数具有有效值吗?顺便说一句,您可以为 AJAX 调用使用相对 URL。
-
我不认为是 JSON 问题。我只是不能发布任何东西。这:函数发送(var1,var2){var结果;警报(var1); att = window.location; $.ajax({ url: att + 'post.php', type: 'POST', data: 'something', 成功: function(data){ } }); } 不起作用。函数 $.post() 也不起作用。可能是什么问题?阿帕奇?
标签: php javascript jquery ajax json