2016-06-23 20 views
0

從JsonReader讀取JObject時出錯。路徑'',第3行,位置1.發送JSON信息,但我收到此錯誤:從JsonReader讀取JObject時出錯。路徑'',第3行,位置1

任何想法爲什麼會發生這種情況?當我使用完全相同的代碼並將其發送到解析(例如)它可以工作,但是當我嘗試將它發送到我自己的域時,它不起作用。這是後端相關嗎?

static public async Task<JObject> signupUser(string username, string password) 
    { 
     var httpClientRequest = new HttpClient(); 

     var postData = new Dictionary <string, string>(); 

     postData.Add ("username", username); 
     postData.Add ("password", password); 

     var jsonRequest = JsonConvert.SerializeObject(postData); 

     HttpContent content = new StringContent(jsonRequest, System.Text.Encoding.UTF8, "application/json"); 

     var result = await httpClientRequest.PostAsync("http://myadress.com/_put.php", content); 
     var resultString = await result.Content.ReadAsStringAsync(); 
     System.Diagnostics.Debug.WriteLine (resultString); 
     var jsonResult = JObject.Parse (resultString); 

     return jsonResult; 
     System.Diagnostics.Debug.WriteLine (jsonResult); 

    } 

我的後端代碼:

<?php 

$value = json_decode(file_get_contents('php://input')); 

$mysql_pekare= new mysqli ("serv", "user","pass", "db"); 

if(!empty($value)) { 

$stmt = $mysql_pekare->prepare("INSERT INTO users (`username`, `password`) VALUES(?,?)"); 
$stmt->bind_param("ss", $value->username, $value->password); 
$stmt->execute(); 


$stmt->close(); 

$mysql_pekare->close(); 
} 


?> 
+0

那麼'resultString'中有什麼? –

+0

秒在我的日誌中運行它 – medvedo

+0

當我在日誌中運行它時它似乎沒有任何內容,或者在它有機會在日誌中給出結果之前崩潰。 var jsonResult = JObject.Parse(resultString);是崩潰整個事情的代碼 – medvedo

回答

1

後端(PHP)的代碼似乎輸出什麼都不(也許除了幾個空格)。所以難怪JObject不能解析它:它不是json。

+0

Okok崩潰。是的,這似乎是問題所在。你認爲我應該如何命名我的下一篇文章,深入探討如何解決它? 「如何調整這個PHP後端代碼,以便我發送的JOb對象可以被解析?」這會起作用嗎? – medvedo

+0

我會使用JSON而不是JObjects。但真正的問題是,你想從PHP後端發送到C#前端的信息是什麼? –

+0

一旦我上傳用戶名+密碼,我想獲得objectId/userId(我現在在後臺擁有AI(auto_increment,所以它手動給了我一個唯一的ID)+ sessionToken(我還沒有做)返回 – medvedo

相關問題