第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AngularJS HTTP POST到PHP和未定義

AngularJS HTTP POST到PHP和未定義

慕雪6442864 2019-06-19 16:16:31
AngularJS HTTP POST到PHP和未定義我有一個帶有標(biāo)簽的表格ng-submit="login()函數(shù)在javascript中被調(diào)用。function LoginForm($scope, $http){     $http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';     $scope.email    = "fsdg@sdf.com";     $scope.password = "1234";     $scope.login = function()     {         data = {             'email' : $scope.email,             'password' : $scope.password        };         $http.post('resources/curl.php', data)         .success(function(data, status, headers, config)         {             console.log(status + ' - ' + data);         })         .error(function(data, status, headers, config)         {             console.log('error');         });     }}我從PHP文件中得到了一個200 OK響應(yīng),但是返回的數(shù)據(jù)表明email和password都是未知的。這就是我所有的php<?php $email = $_POST['email'];$pass  = $_POST['password'];echo $email;?>你知道我為什么不知道POST價值?編輯我想指出的是,這似乎是一個很流行的問題(但它已經(jīng)很老了),.success和.error已被否決,您應(yīng)該使用.then@James Gentes在評論中指出
查看完整描述

3 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗 獲得超6個贊

安古拉杰.post()默認(rèn)內(nèi)容類型標(biāo)頭為application/json..您正在將此重寫為傳遞窗體編碼的數(shù)據(jù),但不更改data值以傳遞適當(dāng)?shù)牟樵冏址?,因此PHP不填充$_POST如你所料。

我的建議是只使用默認(rèn)的angularjs設(shè)置application/json作為頭文件,讀取PHP中的原始輸入,然后反序列化JSON。

這可以在PHP中實現(xiàn),如下所示:

$postdata = file_get_contents("php://input");$request = json_decode($postdata);$email = $request->email;$pass = $request->password;

或者,如果你嚴(yán)重依賴$_POST功能,您可以形成如下所示的查詢字符串email=someemail@email.com&password=somepassword并以數(shù)據(jù)的形式發(fā)送。確保此查詢字符串是URL編碼的。如果手動構(gòu)建(而不是使用類似的jQuery.serialize()),Javascript的encodeURIComponent()應(yīng)該為你做點什么。


查看完整回答
反對 回復(fù) 2019-06-19
?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗 獲得超3個贊

在我的init文件開始時,我在服務(wù)器端這樣做,工作起來很有魅力,您不需要在有角的或現(xiàn)有的php代碼中做任何事情:

if ($_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST))
    $_POST = json_decode(file_get_contents('php://input'), true);


查看完整回答
反對 回復(fù) 2019-06-19
?
滄海一幻覺

TA貢獻(xiàn)1824條經(jīng)驗 獲得超5個贊

在我正在開發(fā)的API中,我有一個基本控制器,在它的_struction()方法中,我有以下內(nèi)容:

if(isset($_SERVER["CONTENT_TYPE"]) && strpos($_SERVER["CONTENT_TYPE"], "application/json") !== false) {
    $_POST = array_merge($_POST, (array) json_decode(trim(file_get_contents('php://input')), true));}

這允許我在需要時將json數(shù)據(jù)簡單地引用為$_post[“var”]。效果很好。

這樣,如果經(jīng)過身份驗證的用戶與這樣一個庫連接,jQuery將發(fā)送帶有默認(rèn)內(nèi)容類型的POST數(shù)據(jù)-Type:application/x-www-form-urlencode或content-Type:application/json,則API將響應(yīng)而不出錯,并使API更加友好。

希望這能幫上忙。


查看完整回答
反對 回復(fù) 2019-06-19
  • 3 回答
  • 0 關(guān)注
  • 674 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號