2017-11-26 5 views
0

IFステートメントを$ http.post {}セクションで使用しようとしています。

Iは以下のようにコードを書かれている:

[controller.js]

$http.post("../crud/projects_update.php",{ 
    step_number : $scope.step_number, 
    //step_one start 
    if(step_number == 1){ // This is where I get an error. 
     project_id : $scope.project_data.project_id,  
     project_title : $scope.project_data.project_title 
    } 
}) 
.then(function(response){ 
    // do something here 
}); 

しかし、私は '==' の赤い下線で(STEP_NUMBER == 1)部分にエラーが出ます部。

私はそれが単純なIFステートメントフォームで動作すると思っていました。

おそらく、私は正しい比較構文でIF文を使用していません。 「==」に私に赤い線が与えられている理由はわかりません。

誰かが間違っている可能性があることを知っていますか?このエラーを修正する方法を教えてください。

ありがとうございました!

答えて

3

ここでの問題は、$http.post関数の2番目のパラメーターがオブジェクトであり、オブジェクトリテラルを作成するときにifステートメントを使用できないことです。

これはAngularJSのことではありません。無効なJavaScriptがフラットになっています。


あなたがしようとしていることを実行する方法はたくさんあります。

一つの可能​​な解決策は次のとおりです。

$http.post("../crud/projects_update.php",{ 
    step_number : $scope.step_number, 
    project_id : $scope.step_number === 1 ? $scope.project_data.project_id : undefined,  
    project_title : $scope.step_number === 1 ? $scope.project_data.project_title : undefined 
}) 
+0

うん、これはあなたがパンチに私を打つように私はupvoted :) をしかし、undefined'は有効なJavaScriptである 'が正しい – Sajeetharan

+0

あり、それが有効なJSONではありません。たぶん、 'undefined'を' null'に置き換えるのでしょうか? (少なくとも非常に) –

+0

私はあなたのことを理解していますが、オブジェクトはJSONオブジェクトでも有効なJSONでもありません(プロパティは '' 'などで囲む必要があります) –

関連する問題