説明
フム..私はこれを適切に発揮できるかどうかを見てみましょう。
$.get()
は、$.ajax()
の略です。
あなたはあなたが本当に
$.ajax({
url: uri,
type: "GET",
success: function(msg){
console.log(msg);
}
});
、デフォルトでは、これをこの
$.get(uri, function(data){
console.log(data); // --> the entire page's content is logged
});
やってないときだから、それはHTMLとしてページを返します。代わりに、デフォルトではページのMIMEタイプを最初にチェックし、見つからない場合はHTMLを返します。返信したいものを伝えたい場合は、サーバーページのMIMEタイプで行うか、または使用することができます。$.getJSON()
あなたの要求から返されたデータをオブジェクト、JSONは行く方法です。 コードの唯一の本当の違いは、本当に、
がにdataType: "json"
を追加するには、$.get()
$.getJSON()
$.getJSON(uri, function(data){
console.log(JSON.stringify(data));
});
または
と交換しています
$.ajax({
url: uri,
type: "GET",
dataType: "json",
success: function(data){
console.log(JSON.stringify(data));
}
});
ので、JSONデータがページから返されることを期待することができます。
今あなたがする必要があるすべては、これはあなたが要求から返されたオブジェクトをしたい場合は移動するための方法であるjson_encode()
$output = array(
"msg" => "This is output",
"data" => array(
"info" => "Spaaaace",
"cake" => "no"
),
array(
"foo",
"bar"
)
);
echo json_encode($output);
//it will look like this before the text is parsed into JSON in Javascript
//{"msg":"This is output","data":{"info":"Spaaaace","cake":"no"},"0":["foo","bar"]}
を使用して、サーバー側でデータを準備しています。
ソリューション
別にjson_encode()
とサーバー側の修正から、これが解決策です。
$.getJSON(uri, function(data){
console.log(JSON.stringify(data));
});
代替ソリューション
必要なのは、上のより高度な答え
$.get(uri, function(msg){
var startWith = "<body>",
endWith = "</body>";
var iStart = msg.search(startWith);
var iEnd = msg.search(endWith);
msg= msg.substring(iStart+startWith.length, iEnd)
console.log(msg);
});
そしてhere'sHere's an example <body>
間と</body>
テキストである、あなたの$.get()
を維持したいと仮定すると、それです。
質問にインラインHTMLタグを含めることはできません。ティルダキーと共有する一重引用符で囲むことはできません。 – mrtsherman
@mrtsherman:これは「バックティック」と呼ばれています。 –
どこに配置されているかは、キーボードレイアウトによって異なります。 – ThiefMaster