Random salt and PBKDF2 key
Yes, generally the salt is prefixed to the ciphertext.
In principle you always generate a new key for each salt, so you might not need the IV. I would however use the output of PBKDF2 to create a randomized IV and key just to be sure (e.g. using SHA-512 and then use the leftmost 32 for the key and the next 16 bytes for the IV).
It is also possible to use HKDF on the output of PBKDF2 to split off both the data key and IV from the generated intermediate key (that's more neat, but also harder to implement).

Notes:

It would be a good idea to use an authenticated mode such as GCM. In that case the IV should be 12 bytes.
dkLen is specified to be in bits, not bytes - at least in the standard. Key sizes generally are.
A salt of 16 bytes is generally plenty, but 32 bytes is OK too (it should still fit in a single block of even SHA-256, so it will likely not influence the work factor created by the hash function and iteration count).