當我硬編碼在uri中的用戶名和密碼它工作正常,webview打開所需的頁面並登錄用戶,但是當我嘗試追加變量到uri它不起作用,它會給登錄錯誤,憑據是錯誤的。如何在Javascript或React Native中形成一個uri字符串?
硬編碼和正常工作:
import React, { Component } from 'react';
import { WebView,AsyncStorage } from 'react-native';
export default class Test extends Component {
async getUsername(){
var username;
try {
username = await AsyncStorage.getItem('username');
console.log('username'+username);
return username;
} catch (error) {
// Error retrieving data
username ="";
console.log('username'+username);
return username;
}
}
async getPassword(){
var password;
try {
password = await AsyncStorage.getItem('password');
console.log('password'+password);
return password;
} catch (error) {
// Error retrieving data
password="";
return password;
}
}
render() {
let pic = {
uri: 'http://www.userlogin.php?username=react&[email protected]'
};
return (
<WebView
automaticallyAdjustContentInsets={false}
scalesPageToFit={false}
source={{uri:pic.uri}}
/>
);
使用的變量不工作:
import React, { Component } from 'react';
import { WebView,AsyncStorage } from 'react-native';
export default class Test extends Component {
async getUsername(){
var username;
try {
username = await AsyncStorage.getItem('username');
console.log('username'+username);
return username;
} catch (error) {
// Error retrieving data
username ="";
console.log('username'+username);
return username;
}
}
async getPassword(){
var password;
try {
password = await AsyncStorage.getItem('password');
console.log('password'+password);
return password;
} catch (error) {
// Error retrieving data
password="";
return password;
}
}
render() {
var usr=this.getUsername();
var pass=this.getPassword();
let pic = {
uri: 'http://userlogin.php?username='+usr+'&password='+pass
};
return (
<WebView
automaticallyAdjustContentInsets={false}
scalesPageToFit={false}
source={{uri:pic.uri}}
/>
);
}
你這是什麼意思是不工作 –
它不會登錄 –
在'let pic = { uri:之前做console.log(usr,pass) 'http://userlogin.php?username ='+ usr +'&password ='+ pass };' –