国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - Principe jquery jsonp?: problème de position généré dynamiquement par la balise js
迷茫
迷茫 2017-05-19 10:33:18
0
4
965
Le principe de

jquery jsonp est d'utiliser script標(biāo)簽中src屬性來解決前后端數(shù)據(jù)請(qǐng)求遇到的跨域問題.有一點(diǎn)不明白的是jquery把動(dòng)態(tài)生成的script標(biāo)簽追加到了head標(biāo)簽中,也就是文檔的頭部;一般我們的回調(diào)函數(shù)在body La fonction est d'abord déclarée puis utilisée. Pourquoi les données transmises en arrière-plan peuvent-elles être obtenues en l'appelant directement sans déclaration ?

Voici un test que j'ai fait :

//同源策略下有兩個(gè)文件:a.html和b.js.
//a.html中的內(nèi)容為:


//<script type="text/javascript" src="b.js"></script>

function test(val){
    console.log(val)
}

//<script type="text/javascript" src="b.js"></script>


//b.js的內(nèi)容為:
test(10)

Si cette cha?ne de code est placée au-dessus de la fonction test函數(shù)下面就會(huì)打印出數(shù)字10,如果放在test déclarée, une erreur sera signalée

ReferenceError: test is not defined

Par rapport à l'implémentation de jquery, je ne comprends pas très bien pourquoi le js généré dynamiquement sera exécuté même s'il est appelé avant la fonction déclarée ?

迷茫
迷茫

業(yè)精于勤,荒于嬉;行成于思,毀于隨。

répondre à tous(4)
左手右手慢動(dòng)作
//同源策略下有兩個(gè)文件:a.html和b.js.
//a.html中的內(nèi)容為:


//<script type="text/javascript" src="b.js"></script>

function test(val){
    console.log(val)
}

//<script type="text/javascript" src="b.js"></script>


//b.js的內(nèi)容為:
test(10)

S'il s'agit d'un src directement lié, le navigateur l'analyse de haut en bas et récupérera d'abord la valeur dans b.js. La fonction de a.js n'a pas encore été chargée dans la page et il n'y a pas de test ( ) cette fonction, donc une erreur sera signalée

Mais lors de l'envoi d'une requête ajax, vous attendez que la page soit complétée avant de la demander. Autrement dit, vous déclarez d'abord une fonction de rappel, puis créez un script à demander. Par conséquent, l'emplacement du script à ce moment n'affectera pas. le résultat final.

世界只因有你

Parce que vous avez ignoré le problème asynchrone, en termes d'ordre d'exécution, lorsque la balise de script renvoyée par le serveur est chargée, votre fonction de rappel locale doit avoir été définie, vous pouvez donc appeler la méthode correspondante.
En termes simples?:
jsonp=Définir la fonction de rappel local=>Load script tag=>Exécuter le contenu de la balise de script chargée.

Peter_Zhu

jsonp Pour parler franchement, c'est un accord :
'Nous sommes trop éloignés les uns des autres et nous ne pouvons pas nous joindre, comment peux-tu me donner tes affaires ?'
'Et si je te le lan?ais, peux-tu l'attraper ?'
'D'accord, j'ai un panier (callback), qui est à votre position 1 heure (callbackName), vous le lancez là'
Quant à savoir si le panier existe ou s'il est dans la bonne position, il le fait cela n'affecte pas votre accord

曾經(jīng)蠟筆沒有小新

La position de chargement js introduite par jsonp est la position où l'instruction jsonp pour obtenir js est exécutée. Quant au placement, ce n'est qu'une formalité.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal