2015년 2월 19일 목요일

Unity WWWForm.AddField 주의해야 할 부분

WWWForm 에서

public void AddField(string fieldName, string value);

로 PHP에 쿼리를 날릴 경우 주의해야 하는 부분은

value에 null이 들어가면

오류가 납니다 ㅡㅡ;;

이거 약간 난감한데요

클라이언트에서 서버로 키, 벨류 값을 보낼때

의도적으로 해당키에 null 값을 보내는 경우가 있고

이 부분을 디버그 모드에서 확인하는게 깔끔한데요

에러를 뿜으니;;

디버그 모드에서는 해당 키에 null 값이 들어있다는 것을 보여주지만

서버에는 전송되지 않았다는 것을 알려야죠(잊어먹을 수 있으니 .ㅠ.ㅠ)

코드를 추가해줘서

약간 깔끔하지 못한;; 코드를 만들었습니다.


        foreach (KeyValuePair<string, string> post_arg in data)
        {
#if UNITY_EDITOR    // 에디터에서 확인할 통신 메세지

            // Form의 value값이 null일 때를 구분해 준다.(안해주면 오류 발생)
            if (post_arg.Value != null)
            {
                formMessage = Edit_Text.AddString(formMessage, post_arg.Key.ToString(), " : ", post_arg.Value.ToString(), "\n");
                m_Form.AddField(post_arg.Key, post_arg.Value);
            }
            else
            {
                formMessage = Edit_Text.AddString(formMessage, post_arg.Key.ToString(), " : ", "null", "    <--[ value가 null일 경우 서버에 전송되지 않습니다 ]\n");
            }
#endif
        }

#if UNITY_EDITOR
        Debug.Log("- WWWForm_Send [ RequestID : " + requestID + " ] (세부정보를 보려면 터치하세요)\n\n" + formMessage);
#endif
        m_WWW = new WWW(url, m_Form);




댓글 없음:

댓글 쓰기