2012-02-05 95 views
3

我不知道我將如何使用jQuery的.ajax().post()將數據發送到一個PHP文件在我的網絡服務器從PhoneGap的原生iPhone應用程序?
它必須是xml或json嗎?或者我可以只發送常規的HTML文章數據到文件?在本機iPhone Phonegap應用上使用jQuery .ajax()或.post()提交表單?

如果你能告訴我一個很棒的例子!

UPDATE:感謝德魯對恆星的解決方案!我也發現了一篇文章,對這個過程進行了很好的解釋。

更新2:我的腳本存在問題。

這是我的javascript。我試圖讓jQuery將我的登錄表單數據發送到我的PHP文件。然後我告訴它從php文件中獲取數據並顯示它。但是所有回來的都是「空」。如果我要求生物等其他值,它可以顯示它。但它不能顯示從我的表單發送的數據。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("img").click(function() { 
      var data = $('form#signin').serialize(); 
      $.ajax({ 
       url:'signin.php', 
       type:'POST', 
       data: data, 
       success:function(data) { 
        $("p.test").html(data); 
        $.getJSON("signin.php", function(data) { 
         localStorage.email = data[0]; 

        }); 
       }, 
       error:function(data) { 
       } 
      }); 
     }); 
    }); 
</script> 

這是我的PHP

<?php 

$email = $_POST["email"]; 

$profile = array($email, "Karl", "Clement", "Gangsta Love!", "bio bio bio bio bio bio bio  bio bio bio bio bio bio bio bio bio bio bio", "Ottawa",  "http://a3.twimg.com/profile_images/1459354642/IMG_1560_normal.jpg"); 

header('Content-Type:text/json'); 
echo json_encode($profile); 

?> 

非常感謝你的幫助!

回答

4

你最好的選擇是JSON,但你可以像一個正常的形式提交。嘗試一些實驗 -

$.ajax({ 
    url:'formPage.php', 
    type:'POST', 
    data:'name=john&[email protected]', 
    success:function(data){ 
    console.log(data); 
    }, 
    error:function(w,t,f){ 
    console.log(w+' '+t+' '+f); 
    } 
}); 

應該工作得很好。你也可以只做到JSON

$.ajax({ 
     url:'formPage.php', 
     type:'POST', 
     data:{name:'john',email:'[email protected]'}, 
     success:function(data){ 
     console.log(data); 
     }, 
     error:function(w,t,f){ 
     console.log(w+' '+t+' '+f); 
     } 
    }); 

要開始我只想有你的應用程序發送一個請求到服務器,並將它返回一個聲明,這樣你可以看到它連接和迴應,然後開始傳遞變量!

+0

感謝您的回答!它是一個很大的幫助!一個小問題,如果我使用第二種方法,它會用http post發佈值嗎?我可以在我的php文件中通過$ _POST('name')接收這些值嗎?或者我必須解碼它?如果是這樣,我將如何做到這一點在PHP中讓他們在PHP變量? – Karl 2012-02-06 05:51:25

+0

你完全可以用你的php使用JSON來設置它。如果您使用的是PHP,您可以使用第一種方法提交,並像使用$ _POST一樣接收值,如果您使用JSON,則需要執行json_decode檢查 - http://php.net/manual/en /function.json-decode.php – 2012-02-06 14:39:17

+0

非常感謝德魯。你節省了很多麻煩。我將使用json來保證安全! – Karl 2012-02-06 21:22:52