TL;DR: No. "Secure" is not a binary property, and this is better than nothing, but it's very vulnerable to MitM.
Incidentally, if you really think this is worth it, at least try to do it right. RSA is an OK but not great choice for exchanging a symmetric key but you definitely shouldn't try to encrypt the actual requests with it, and you couldn't even encrypt the responses with it unless the client also generated and send a public key. Instead you should use a hybrid cryptosystem, where a symmetric key (or secret that can be used to derive a key) is exchanged, and then further communication is secured by symmetric encryption (with either HMACs or AEAD for integrity too). And, if you're going to do hybrid crypto, it makes more sense to use Diffie-Hellman (or better yet, elliptic curve DH) for the key exchange, as the parameters are much lower-cost to generate than a strong RSA key so you can get forward secrecy and good cryptographic strength at a reasonable cost. ECDH is supported in the Web Crypto API, so you don't have to write any cryptographic primitives yourself.