0

JSファイルとPHPファイルの間でデータを渡そうとしていますが、$_POSTPHPの変数が機能せず、そのためにアプリで進化させることができません。

JSコード:

var params = String(input.value);
    var xhr = Titanium.Network.createHTTPClient();
    xhr.open('GET','http://10.0.2.2/jobfinder/teste_demo_grafica/Resources/teste.php');
    xhr.send(params);
    xhr.onload = function(){

    var response = this.responseText;
    alert(response);
    if (response != null)
    {
        alert("voltou ao js e funca");
    }
    else
    {
        alert("-.-");
    }
    };

    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

    xhr.onerror = function(e){alert('Transmission error: ' + e.error);};

});

そして今、phpコード:

<?php

// Connect to the database(host, username, password)
$con = mysql_connect('localhost','root','');

if (!$con)
{
    return ("Failed to make connection.");
    exit;
}

// Select the database. Enter the name of your database (not the same as the table name)
$db = mysql_select_db('jobfinder');
if (!$db)
{
    echo "Failed to select db.";
    exit;
}
$pesquisa= $_POST[params];
echo "pesquisa";
$sql = "SELECT * FROM oferta WHERE titulo like '%$pesquisa%'";  
$query = mysql_query($sql); 

if (mysql_num_rows($query) > 0)
{

    $row = mysql_fetch_array($query);
    $response = array(
        'titulo' => $row['titulo'],
        'oferta' => $row['descricao_oferta']
    );
    json_encode($response);
    echo $response['titulo'];

}
else
{

    // Else the username and/or password was invalid! Create an array, json_encode it and echo it out
    $response =  array(
        'message' => 'Não existem ofertas para esta pesquisa'
    );
    json_encode($response);


}
echo "php mode off";
?>
4

2 に答える 2

1

私は今解決策を持っています!コードのこの部分が表示された場合:

var params = String(input.value);
 ** var xhr = Titanium.Network.createHTTPClient();
    xhr.open('GET','http://10.0.2.2/jobfinder/teste_demo_grafica/Resources/teste.php');
    xhr.send(params);
    xhr.onload = function(){**

    var response = this.responseText;
    alert(response);
    if (response != null)
    {
        alert("voltou ao js e funca");
    }
    else
    {
        alert("-.-");
    }
    };

    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

    xhr.onerror = function(e){alert('Transmission error: ' + e.error);};

});

**の間のcodwが問題です...だから私はこれが好きです:

var url = "http://10.0.2.2/jobfinder/tessssssste/Resources/teste.php";//bug do titanium resolvido 
    var params = "?params=" + input.value;
    var encodedURI = encodeURI(url + params);

    var xhr = Titanium.Network.createHTTPClient();
    xhr.open("GET", encodedURI);
    xhr.send();

    xhr.onload = function(){

そして今、それはTYEVERYBODYで動作します!!!!

于 2012-04-18T15:01:46.490 に答える
1

推測では、JavaScriptはGETを介してデータを送信しています。

xhr.open('GET','http://10.0.2.2/jobfinder/teste_demo_grafica/Resources/teste.php');

しかし、あなたのPHPはPOSTを探しています。POSTをGETに変更すると、機能する場合があります。またはその逆

于 2012-04-16T09:02:17.390 に答える