我有一個超級簡單的JS代碼,POST到我的本地服務器。 JS和PHP都在本地主機上,所以我現在不擔心跨站點問題。這裏是我的JS:
var ENDPOINT_BASE = '';
var ENDPOINT_USER_LOGIN = { url: '/user/login', method: 'POST'};
var ENDPOINT_USER_REGISTER = { url: '/user/register', method: 'POST'};
var toSend = {'credentials': { 'email':'1', 'password':'123'}};
$.ajax({
method: ENDPOINT_USER_LOGIN.method,
url: ENDPOINT_BASE + ENDPOINT_USER_LOGIN.url,
contentType: "application/json",
data: toSend
});
我的PHP很簡單:
<?php
print_r($_POST);
在Chrome調試器,我可以看到網絡電話進行,但是在$_POST
接收到的響應總是空的,即它打印出來Array()
。
如果我在PHP中添加類似echo "abc";
的東西,我可以在響應中看到它,所以它正確地打了那個URL。
我正在使用jQuery 2.1.4。
JS控制檯不打印出任何錯誤消息。
任何想法可能是錯的?謝謝!
呢'的print_r(的file_get_contents(「PHP://輸入」)) ;'顯示什麼?如果你註釋掉'contentType',會發生什麼? – Ronnie
實際上,兩種解決方案都解決了單獨收到任何東西的問題。我不知道有'php:// input'存在。 – Sandy
@Dagon是的,我明確地設置方法爲'POST'。 – Sandy